diff --git a/sources/GLFW/Glfw.gen.cs b/sources/GLFW/Glfw.gen.cs index 3a0df8e059..8564541485 100644 --- a/sources/GLFW/Glfw.gen.cs +++ b/sources/GLFW/Glfw.gen.cs @@ -2,10 +2,10 @@ // The .NET Foundation licenses this file to you under the MIT license. // Ported from glfw3.h and corresponding dependencies of GLFW3 // Original source is Copyright © 2002-2006 Marcus Geelnard, 2006-2019 Camilla Löwy. Licensed under the zlib license. -using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Silk.NET.Core.Loader; +using System.Reflection; namespace Silk.NET.GLFW; diff --git a/sources/SilkTouch/.silktouch/58da166f3bdd8bd6.stout b/sources/SilkTouch/.silktouch/58da166f3bdd8bd6.stout new file mode 100644 index 0000000000..a11c22f38d Binary files /dev/null and b/sources/SilkTouch/.silktouch/58da166f3bdd8bd6.stout differ diff --git a/sources/Windows/DirectX/headers/d3d12/CLSID.gen.cs b/sources/Windows/DirectX/headers/d3d12/CLSID.gen.cs new file mode 100644 index 0000000000..625055276c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/CLSID.gen.cs @@ -0,0 +1,72 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class CLSID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid CLSID_D3D12Debug + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xEB, 0x2A, 0x35, 0xF2, 0x84, 0xDD, 0xFE, 0x49, 0xB9, 0x7B, 0xA9, 0xDC, 0xFD, 0xCC, 0x1B, 0x4F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid CLSID_D3D12Tools + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xB1, 0x16, 0x82, 0xE3, 0x8C, 0x3C, 0x33, 0x48, 0xAA, 0x09, 0x0A, 0x06, 0xB6, 0x5D, 0x96, 0xC8]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid CLSID_D3D12DeviceRemovedExtendedData + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xC4, 0xBB, 0x75, 0x4A, 0xF4, 0x9F, 0xD8, 0x4A, 0x9F, 0x18, 0xAB, 0xAE, 0x84, 0xDC, 0x5F, 0xF2]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid CLSID_D3D12SDKConfiguration + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xCA, 0x6A, 0xDA, 0x7C, 0x3E, 0xA0, 0xC8, 0x49, 0x94, 0x58, 0x03, 0x34, 0xD2, 0x0E, 0x07, 0xCE]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid CLSID_D3D12DeviceFactory + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xBF, 0x63, 0x48, 0x11, 0x86, 0xC3, 0xEE, 0x4A, 0xB3, 0x9D, 0x8F, 0x0B, 0xBB, 0x06, 0x29, 0x55]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12.gen.cs new file mode 100644 index 0000000000..b96c53ca68 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12.gen.cs @@ -0,0 +1,892 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static partial class D3D12 +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x4E, 0x08, 0xB0, 0x62, 0x0E, 0xC7, 0xAA, 0x4D, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("#define D3D12_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )")] + public const int D3D12_16BIT_INDEX_STRIP_CUT_VALUE = (0xffff); + [NativeTypeName("#define D3D12_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )")] + public const uint D3D12_32BIT_INDEX_STRIP_CUT_VALUE = (0xffffffff); + [NativeTypeName("#define D3D12_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )")] + public const int D3D12_8BIT_INDEX_STRIP_CUT_VALUE = (0xff); + [NativeTypeName("#define D3D12_APPEND_ALIGNED_ELEMENT ( 0xffffffff )")] + public const uint D3D12_APPEND_ALIGNED_ELEMENT = (0xffffffff); + [NativeTypeName("#define D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )")] + public const int D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = (9); + [NativeTypeName("#define D3D12_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )")] + public const int D3D12_CLIP_OR_CULL_DISTANCE_COUNT = (8); + [NativeTypeName("#define D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )")] + public const int D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = (2); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = (14); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = (15); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT ( 16 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT = (16); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = (15); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )")] + public const int D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = (64); + [NativeTypeName("#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )")] + public const int D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )")] + public const int D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )")] + public const int D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = (128); + [NativeTypeName("#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )")] + public const int D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )")] + public const int D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = (128); + [NativeTypeName("#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )")] + public const int D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT = (16); + [NativeTypeName("#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )")] + public const int D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )")] + public const int D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT = (16); + [NativeTypeName("#define D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )")] + public const int D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = (32); + [NativeTypeName("#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )")] + public const int D3D12_COMMONSHADER_TEMP_REGISTER_COUNT = (4096); + [NativeTypeName("#define D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )")] + public const int D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = (3); + [NativeTypeName("#define D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )")] + public const int D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS = (3); + [NativeTypeName("#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )")] + public const int D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = (10); + [NativeTypeName("#define D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )")] + public const int D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = (-10); + [NativeTypeName("#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )")] + public const int D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = (-8); + [NativeTypeName("#define D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )")] + public const int D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = (7); + [NativeTypeName("#define D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT ( 256 )")] + public const int D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT = (256); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 256 )")] + public const int D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (256); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )")] + public const int D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = (64); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 240 )")] + public const int D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (240); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )")] + public const int D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = (68); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 224 )")] + public const int D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (224); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )")] + public const int D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = (72); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 208 )")] + public const int D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (208); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )")] + public const int D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = (76); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 192 )")] + public const int D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (192); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )")] + public const int D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = (84); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 176 )")] + public const int D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (176); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )")] + public const int D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = (92); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 160 )")] + public const int D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (160); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )")] + public const int D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = (100); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 144 )")] + public const int D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (144); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )")] + public const int D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = (112); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 128 )")] + public const int D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (128); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )")] + public const int D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = (128); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 112 )")] + public const int D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (112); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )")] + public const int D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = (144); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 96 )")] + public const int D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (96); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )")] + public const int D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = (168); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 80 )")] + public const int D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (80); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )")] + public const int D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = (204); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 64 )")] + public const int D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (64); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )")] + public const int D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = (256); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 48 )")] + public const int D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (48); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )")] + public const int D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = (340); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 32 )")] + public const int D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (32); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )")] + public const int D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = (512); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD ( 16 )")] + public const int D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = (16); + [NativeTypeName("#define D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )")] + public const int D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = (768); + [NativeTypeName("#define D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION ( 1 )")] + public const int D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = (1); + [NativeTypeName("#define D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT ( 256 )")] + public const int D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = (256); + [NativeTypeName("#define D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )")] + public const int D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = (768); + [NativeTypeName("#define D3D12_CS_4_X_THREAD_GROUP_MAX_X ( 768 )")] + public const int D3D12_CS_4_X_THREAD_GROUP_MAX_X = (768); + [NativeTypeName("#define D3D12_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )")] + public const int D3D12_CS_4_X_THREAD_GROUP_MAX_Y = (768); + [NativeTypeName("#define D3D12_CS_4_X_UAV_REGISTER_COUNT ( 1 )")] + public const int D3D12_CS_4_X_UAV_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION ( 65535 )")] + public const int D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = (65535); + [NativeTypeName("#define D3D12_CS_TGSM_REGISTER_COUNT ( 8192 )")] + public const int D3D12_CS_TGSM_REGISTER_COUNT = (8192); + [NativeTypeName("#define D3D12_CS_TGSM_REGISTER_READS_PER_INST ( 1 )")] + public const int D3D12_CS_TGSM_REGISTER_READS_PER_INST = (1); + [NativeTypeName("#define D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS ( 3 )")] + public const int D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS = (3); + [NativeTypeName("#define D3D12_CS_THREADGROUPID_REGISTER_COUNT ( 1 )")] + public const int D3D12_CS_THREADGROUPID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT ( 1 )")] + public const int D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS ( 3 )")] + public const int D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS = (3); + [NativeTypeName("#define D3D12_CS_THREADIDINGROUP_REGISTER_COUNT ( 1 )")] + public const int D3D12_CS_THREADIDINGROUP_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_CS_THREADID_REGISTER_COMPONENTS ( 3 )")] + public const int D3D12_CS_THREADID_REGISTER_COMPONENTS = (3); + [NativeTypeName("#define D3D12_CS_THREADID_REGISTER_COUNT ( 1 )")] + public const int D3D12_CS_THREADID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 1024 )")] + public const int D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = (1024); + [NativeTypeName("#define D3D12_CS_THREAD_GROUP_MAX_X ( 1024 )")] + public const int D3D12_CS_THREAD_GROUP_MAX_X = (1024); + [NativeTypeName("#define D3D12_CS_THREAD_GROUP_MAX_Y ( 1024 )")] + public const int D3D12_CS_THREAD_GROUP_MAX_Y = (1024); + [NativeTypeName("#define D3D12_CS_THREAD_GROUP_MAX_Z ( 64 )")] + public const int D3D12_CS_THREAD_GROUP_MAX_Z = (64); + [NativeTypeName("#define D3D12_CS_THREAD_GROUP_MIN_X ( 1 )")] + public const int D3D12_CS_THREAD_GROUP_MIN_X = (1); + [NativeTypeName("#define D3D12_CS_THREAD_GROUP_MIN_Y ( 1 )")] + public const int D3D12_CS_THREAD_GROUP_MIN_Y = (1); + [NativeTypeName("#define D3D12_CS_THREAD_GROUP_MIN_Z ( 1 )")] + public const int D3D12_CS_THREAD_GROUP_MIN_Z = (1); + [NativeTypeName("#define D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL ( 16384 )")] + public const int D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = (16384); + [NativeTypeName("#define D3D12_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )")] + public const float D3D12_DEFAULT_BLEND_FACTOR_ALPHA = (1.0f); + [NativeTypeName("#define D3D12_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )")] + public const float D3D12_DEFAULT_BLEND_FACTOR_BLUE = (1.0f); + [NativeTypeName("#define D3D12_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )")] + public const float D3D12_DEFAULT_BLEND_FACTOR_GREEN = (1.0f); + [NativeTypeName("#define D3D12_DEFAULT_BLEND_FACTOR_RED ( 1.0f )")] + public const float D3D12_DEFAULT_BLEND_FACTOR_RED = (1.0f); + [NativeTypeName("#define D3D12_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )")] + public const float D3D12_DEFAULT_BORDER_COLOR_COMPONENT = (0.0f); + [NativeTypeName("#define D3D12_DEFAULT_DEPTH_BIAS ( 0 )")] + public const int D3D12_DEFAULT_DEPTH_BIAS = (0); + [NativeTypeName("#define D3D12_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )")] + public const float D3D12_DEFAULT_DEPTH_BIAS_CLAMP = (0.0f); + [NativeTypeName("#define D3D12_DEFAULT_MAX_ANISOTROPY ( 16 )")] + public const int D3D12_DEFAULT_MAX_ANISOTROPY = (16); + [NativeTypeName("#define D3D12_DEFAULT_MIP_LOD_BIAS ( 0.0f )")] + public const float D3D12_DEFAULT_MIP_LOD_BIAS = (0.0f); + [NativeTypeName("#define D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 4194304 )")] + public const int D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = (4194304); + [NativeTypeName("#define D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )")] + public const int D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX = (0); + [NativeTypeName("#define D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )")] + public const int D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT = (65536); + [NativeTypeName("#define D3D12_DEFAULT_SAMPLE_MASK ( 0xffffffff )")] + public const uint D3D12_DEFAULT_SAMPLE_MASK = (0xffffffff); + [NativeTypeName("#define D3D12_DEFAULT_SCISSOR_ENDX ( 0 )")] + public const int D3D12_DEFAULT_SCISSOR_ENDX = (0); + [NativeTypeName("#define D3D12_DEFAULT_SCISSOR_ENDY ( 0 )")] + public const int D3D12_DEFAULT_SCISSOR_ENDY = (0); + [NativeTypeName("#define D3D12_DEFAULT_SCISSOR_STARTX ( 0 )")] + public const int D3D12_DEFAULT_SCISSOR_STARTX = (0); + [NativeTypeName("#define D3D12_DEFAULT_SCISSOR_STARTY ( 0 )")] + public const int D3D12_DEFAULT_SCISSOR_STARTY = (0); + [NativeTypeName("#define D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )")] + public const float D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = (0.0f); + [NativeTypeName("#define D3D12_DEFAULT_STENCIL_READ_MASK ( 0xff )")] + public const int D3D12_DEFAULT_STENCIL_READ_MASK = (0xff); + [NativeTypeName("#define D3D12_DEFAULT_STENCIL_REFERENCE ( 0 )")] + public const int D3D12_DEFAULT_STENCIL_REFERENCE = (0); + [NativeTypeName("#define D3D12_DEFAULT_STENCIL_WRITE_MASK ( 0xff )")] + public const int D3D12_DEFAULT_STENCIL_WRITE_MASK = (0xff); + [NativeTypeName("#define D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )")] + public const int D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = (0); + [NativeTypeName("#define D3D12_DEFAULT_VIEWPORT_HEIGHT ( 0 )")] + public const int D3D12_DEFAULT_VIEWPORT_HEIGHT = (0); + [NativeTypeName("#define D3D12_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )")] + public const float D3D12_DEFAULT_VIEWPORT_MAX_DEPTH = (0.0f); + [NativeTypeName("#define D3D12_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )")] + public const float D3D12_DEFAULT_VIEWPORT_MIN_DEPTH = (0.0f); + [NativeTypeName("#define D3D12_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )")] + public const int D3D12_DEFAULT_VIEWPORT_TOPLEFTX = (0); + [NativeTypeName("#define D3D12_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )")] + public const int D3D12_DEFAULT_VIEWPORT_TOPLEFTY = (0); + [NativeTypeName("#define D3D12_DEFAULT_VIEWPORT_WIDTH ( 0 )")] + public const int D3D12_DEFAULT_VIEWPORT_WIDTH = (0); + [NativeTypeName("#define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND ( 0xffffffff )")] + public const uint D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND = (0xffffffff); + [NativeTypeName("#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END ( 0xfffffff7 )")] + public const uint D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END = (0xfffffff7); + [NativeTypeName("#define D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )")] + public const uint D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START = (0xfffffff0); + [NativeTypeName("#define D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )")] + public const int D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = (3968); + [NativeTypeName("#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT ( 32 )")] + public const int D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )")] + public const int D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS = (3); + [NativeTypeName("#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT ( 1 )")] + public const int D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )")] + public const int D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )")] + public const int D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_DS_OUTPUT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_DS_OUTPUT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_DS_OUTPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_DS_OUTPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )")] + public const double D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP = (0.6); + [NativeTypeName("#define D3D12_FLOAT32_MAX ( 3.402823466e+38f )")] + public const float D3D12_FLOAT32_MAX = (3.402823466e+38f); + [NativeTypeName("#define D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )")] + public const float D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = (0.6f); + [NativeTypeName("#define D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )")] + public const float D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = (2.4f); + [NativeTypeName("#define D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )")] + public const float D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = (1.0f); + [NativeTypeName("#define D3D12_FLOAT_TO_SRGB_OFFSET ( 0.055f )")] + public const float D3D12_FLOAT_TO_SRGB_OFFSET = (0.055f); + [NativeTypeName("#define D3D12_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )")] + public const float D3D12_FLOAT_TO_SRGB_SCALE_1 = (12.92f); + [NativeTypeName("#define D3D12_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )")] + public const float D3D12_FLOAT_TO_SRGB_SCALE_2 = (1.055f); + [NativeTypeName("#define D3D12_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )")] + public const float D3D12_FLOAT_TO_SRGB_THRESHOLD = (0.0031308f); + [NativeTypeName("#define D3D12_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )")] + public const float D3D12_FTOI_INSTRUCTION_MAX_INPUT = (2147483647.999f); + [NativeTypeName("#define D3D12_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )")] + public const float D3D12_FTOI_INSTRUCTION_MIN_INPUT = (-2147483648.999f); + [NativeTypeName("#define D3D12_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )")] + public const float D3D12_FTOU_INSTRUCTION_MAX_INPUT = (4294967295.999f); + [NativeTypeName("#define D3D12_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )")] + public const float D3D12_FTOU_INSTRUCTION_MIN_INPUT = (0.0f); + [NativeTypeName("#define D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST ( 2 )")] + public const int D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS ( 1 )")] + public const int D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS = (1); + [NativeTypeName("#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT ( 1 )")] + public const int D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )")] + public const int D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_GS_INPUT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_GS_INPUT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_GS_INPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_GS_INPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_GS_INPUT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_GS_INPUT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_GS_INPUT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_GS_INPUT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_GS_INPUT_REGISTER_VERTICES ( 32 )")] + public const int D3D12_GS_INPUT_REGISTER_VERTICES = (32); + [NativeTypeName("#define D3D12_GS_MAX_INSTANCE_COUNT ( 32 )")] + public const int D3D12_GS_MAX_INSTANCE_COUNT = (32); + [NativeTypeName("#define D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES ( 1024 )")] + public const int D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES = (1024); + [NativeTypeName("#define D3D12_GS_OUTPUT_ELEMENTS ( 32 )")] + public const int D3D12_GS_OUTPUT_ELEMENTS = (32); + [NativeTypeName("#define D3D12_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_GS_OUTPUT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_GS_OUTPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_GS_OUTPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )")] + public const uint D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND = (0xffffffff); + [NativeTypeName("#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT ( 1 )")] + public const int D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT ( 1 )")] + public const int D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT ( 1 )")] + public const int D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND ( 0xffffffff )")] + public const uint D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND = (0xffffffff); + [NativeTypeName("#define D3D12_HS_MAXTESSFACTOR_LOWER_BOUND ( 1.0f )")] + public const float D3D12_HS_MAXTESSFACTOR_LOWER_BOUND = (1.0f); + [NativeTypeName("#define D3D12_HS_MAXTESSFACTOR_UPPER_BOUND ( 64.0f )")] + public const float D3D12_HS_MAXTESSFACTOR_UPPER_BOUND = (64.0f); + [NativeTypeName("#define D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )")] + public const int D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = (3968); + [NativeTypeName("#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )")] + public const int D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT ( 32 )")] + public const int D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS ( 128 )")] + public const int D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS = (128); + [NativeTypeName("#define D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )")] + public const int D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = (0); + [NativeTypeName("#define D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )")] + public const int D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY = (0); + [NativeTypeName("#define D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )")] + public const int D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = (0); + [NativeTypeName("#define D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )")] + public const int D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = (1); + [NativeTypeName("#define D3D12_IA_INSTANCE_ID_BIT_COUNT ( 32 )")] + public const int D3D12_IA_INSTANCE_ID_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )")] + public const int D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT ( 32 )")] + public const int D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT = (32); + [NativeTypeName("#define D3D12_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )")] + public const int D3D12_IA_PRIMITIVE_ID_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_IA_VERTEX_ID_BIT_COUNT ( 32 )")] + public const int D3D12_IA_VERTEX_ID_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 32 )")] + public const int D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = (32); + [NativeTypeName("#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 128 )")] + public const int D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = (128); + [NativeTypeName("#define D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 32 )")] + public const int D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = (32); + [NativeTypeName("#define D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )")] + public const uint D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = (0xffffffff); + [NativeTypeName("#define D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )")] + public const uint D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER = (0xffffffff); + [NativeTypeName("#define D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL ( 0xffffffff )")] + public const uint D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = (0xffffffff); + [NativeTypeName("#define D3D12_KEEP_UNORDERED_ACCESS_VIEWS ( 0xffffffff )")] + public const uint D3D12_KEEP_UNORDERED_ACCESS_VIEWS = (0xffffffff); + [NativeTypeName("#define D3D12_LINEAR_GAMMA ( 1.0f )")] + public const float D3D12_LINEAR_GAMMA = (1.0f); + [NativeTypeName("#define D3D12_MAJOR_VERSION ( 12 )")] + public const int D3D12_MAJOR_VERSION = (12); + [NativeTypeName("#define D3D12_MAX_BORDER_COLOR_COMPONENT ( 1.0f )")] + public const float D3D12_MAX_BORDER_COLOR_COMPONENT = (1.0f); + [NativeTypeName("#define D3D12_MAX_DEPTH ( 1.0f )")] + public const float D3D12_MAX_DEPTH = (1.0f); + [NativeTypeName("#define D3D12_MAX_LIVE_STATIC_SAMPLERS ( 2032 )")] + public const int D3D12_MAX_LIVE_STATIC_SAMPLERS = (2032); + [NativeTypeName("#define D3D12_MAX_MAXANISOTROPY ( 16 )")] + public const int D3D12_MAX_MAXANISOTROPY = (16); + [NativeTypeName("#define D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )")] + public const int D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT = (32); + [NativeTypeName("#define D3D12_MAX_POSITION_VALUE ( 3.402823466e+34f )")] + public const float D3D12_MAX_POSITION_VALUE = (3.402823466e+34f); + [NativeTypeName("#define D3D12_MAX_ROOT_COST ( 64 )")] + public const int D3D12_MAX_ROOT_COST = (64); + [NativeTypeName("#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 ( 1000000 )")] + public const int D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 = (1000000); + [NativeTypeName("#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 ( 1000000 )")] + public const int D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 = (1000000); + [NativeTypeName("#define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE ( 2048 )")] + public const int D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE = (2048); + [NativeTypeName("#define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )")] + public const int D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP = (17); + [NativeTypeName("#define D3D12_MAX_VIEW_INSTANCE_COUNT ( 4 )")] + public const int D3D12_MAX_VIEW_INSTANCE_COUNT = (4); + [NativeTypeName("#define D3D12_MINOR_VERSION ( 0 )")] + public const int D3D12_MINOR_VERSION = (0); + [NativeTypeName("#define D3D12_MIN_BORDER_COLOR_COMPONENT ( 0.0f )")] + public const float D3D12_MIN_BORDER_COLOR_COMPONENT = (0.0f); + [NativeTypeName("#define D3D12_MIN_DEPTH ( 0.0f )")] + public const float D3D12_MIN_DEPTH = (0.0f); + [NativeTypeName("#define D3D12_MIN_MAXANISOTROPY ( 0 )")] + public const int D3D12_MIN_MAXANISOTROPY = (0); + [NativeTypeName("#define D3D12_MIP_LOD_BIAS_MAX ( 15.99f )")] + public const float D3D12_MIP_LOD_BIAS_MAX = (15.99f); + [NativeTypeName("#define D3D12_MIP_LOD_BIAS_MIN ( -16.0f )")] + public const float D3D12_MIP_LOD_BIAS_MIN = (-16.0f); + [NativeTypeName("#define D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT ( 8 )")] + public const int D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT = (8); + [NativeTypeName("#define D3D12_MIP_LOD_RANGE_BIT_COUNT ( 8 )")] + public const int D3D12_MIP_LOD_RANGE_BIT_COUNT = (8); + [NativeTypeName("#define D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )")] + public const float D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = (1.4f); + [NativeTypeName("#define D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )")] + public const int D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = (0); + [NativeTypeName("#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )")] + public const uint D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END = (0xffffffff); + [NativeTypeName("#define D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff8 )")] + public const uint D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START = (0xfffffff8); + [NativeTypeName("#define D3D12_PACKED_TILE ( 0xffffffff )")] + public const uint D3D12_PACKED_TILE = (0xffffffff); + [NativeTypeName("#define D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )")] + public const int D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT = (15); + [NativeTypeName("#define D3D12_PREVIEW_SDK_VERSION ( 706 )")] + public const int D3D12_PREVIEW_SDK_VERSION = (706); + [NativeTypeName("#define D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )")] + public const int D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = (16); + [NativeTypeName("#define D3D12_PS_CS_UAV_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_PS_CS_UAV_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_PS_CS_UAV_REGISTER_COUNT ( 8 )")] + public const int D3D12_PS_CS_UAV_REGISTER_COUNT = (8); + [NativeTypeName("#define D3D12_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )")] + public const int D3D12_PS_CS_UAV_REGISTER_READS_PER_INST = (1); + [NativeTypeName("#define D3D12_PS_CS_UAV_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_PS_CS_UAV_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )")] + public const uint D3D12_PS_FRONTFACING_DEFAULT_VALUE = (0xffffffff); + [NativeTypeName("#define D3D12_PS_FRONTFACING_FALSE_VALUE ( 0 )")] + public const int D3D12_PS_FRONTFACING_FALSE_VALUE = (0); + [NativeTypeName("#define D3D12_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )")] + public const uint D3D12_PS_FRONTFACING_TRUE_VALUE = (0xffffffff); + [NativeTypeName("#define D3D12_PS_INPUT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_PS_INPUT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_PS_INPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_PS_INPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_PS_INPUT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_PS_INPUT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_PS_INPUT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_PS_INPUT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )")] + public const float D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = (0.0f); + [NativeTypeName("#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )")] + public const int D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS ( 1 )")] + public const int D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS = (1); + [NativeTypeName("#define D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_PS_OUTPUT_MASK_REGISTER_COUNT ( 1 )")] + public const int D3D12_PS_OUTPUT_MASK_REGISTER_COUNT = (1); + [NativeTypeName("#define D3D12_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_PS_OUTPUT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_PS_OUTPUT_REGISTER_COUNT ( 8 )")] + public const int D3D12_PS_OUTPUT_REGISTER_COUNT = (8); + [NativeTypeName("#define D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )")] + public const float D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = (0.5f); + [NativeTypeName("#define D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT ( 16 )")] + public const int D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT = (16); + [NativeTypeName("#define D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT ( 8 )")] + public const int D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT = (8); + [NativeTypeName("#define D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT ( 256 )")] + public const int D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT = (256); + [NativeTypeName("#define D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT ( 16 )")] + public const int D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT = (16); + [NativeTypeName("#define D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES ( 32 )")] + public const int D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES = (32); + [NativeTypeName("#define D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH ( 31 )")] + public const int D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH = (31); + [NativeTypeName("#define D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )")] + public const int D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = (16777216); + [NativeTypeName("#define D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE ( 16777216 )")] + public const int D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE = (16777216); + [NativeTypeName("#define D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE ( 536870912 )")] + public const int D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = (536870912); + [NativeTypeName("#define D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS ( 1073741824 )")] + public const int D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS = (1073741824); + [NativeTypeName("#define D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE ( 4096 )")] + public const int D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE = (4096); + [NativeTypeName("#define D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT ( 32 )")] + public const int D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT = (32); + [NativeTypeName("#define D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT ( 64 )")] + public const int D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT = (64); + [NativeTypeName("#define D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT ( 16 )")] + public const int D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT = (16); + [NativeTypeName("#define D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )")] + public const int D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = (4096); + [NativeTypeName("#define D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )")] + public const int D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = (27); + [NativeTypeName("#define D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )")] + public const int D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = (4096); + [NativeTypeName("#define D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )")] + public const int D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = (4096); + [NativeTypeName("#define D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )")] + public const int D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = (32); + [NativeTypeName("#define D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )")] + public const int D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = (32); + [NativeTypeName("#define D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 16384 )")] + public const int D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = (16384); + [NativeTypeName("#define D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )")] + public const int D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = (1024); + [NativeTypeName("#define D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )")] + public const int D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = (4096); + [NativeTypeName("#define D3D12_REQ_MAXANISOTROPY ( 16 )")] + public const int D3D12_REQ_MAXANISOTROPY = (16); + [NativeTypeName("#define D3D12_REQ_MIP_LEVELS ( 15 )")] + public const int D3D12_REQ_MIP_LEVELS = (15); + [NativeTypeName("#define D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )")] + public const int D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = (2048); + [NativeTypeName("#define D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE ( 4096 )")] + public const int D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = (4096); + [NativeTypeName("#define D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )")] + public const int D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = (16384); + [NativeTypeName("#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM ( 128 )")] + public const int D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = (128); + [NativeTypeName("#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM ( 0.25f )")] + public const float D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM = (0.25f); + [NativeTypeName("#define D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM ( 2048 )")] + public const int D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM = (2048); + [NativeTypeName("#define D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP ( 20 )")] + public const int D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = (20); + [NativeTypeName("#define D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE ( 4096 )")] + public const int D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = (4096); + [NativeTypeName("#define D3D12_REQ_SUBRESOURCES ( 30720 )")] + public const int D3D12_REQ_SUBRESOURCES = (30720); + [NativeTypeName("#define D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 2048 )")] + public const int D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = (2048); + [NativeTypeName("#define D3D12_REQ_TEXTURE1D_U_DIMENSION ( 16384 )")] + public const int D3D12_REQ_TEXTURE1D_U_DIMENSION = (16384); + [NativeTypeName("#define D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 2048 )")] + public const int D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = (2048); + [NativeTypeName("#define D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 16384 )")] + public const int D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION = (16384); + [NativeTypeName("#define D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )")] + public const int D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = (2048); + [NativeTypeName("#define D3D12_REQ_TEXTURECUBE_DIMENSION ( 16384 )")] + public const int D3D12_REQ_TEXTURECUBE_DIMENSION = (16384); + [NativeTypeName("#define D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )")] + public const int D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = (0); + [NativeTypeName("#define D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ( 0xffffffff )")] + public const uint D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES = (0xffffffff); + [NativeTypeName("#define D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT ( 2 )")] + public const int D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT = (2); + [NativeTypeName("#define D3D12_SDK_VERSION ( 606 )")] + public const int D3D12_SDK_VERSION = (606); + [NativeTypeName("#define D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES ( 32 )")] + public const int D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES = (32); + [NativeTypeName("#define D3D12_SHADER_MAJOR_VERSION ( 5 )")] + public const int D3D12_SHADER_MAJOR_VERSION = (5); + [NativeTypeName("#define D3D12_SHADER_MAX_INSTANCES ( 65535 )")] + public const int D3D12_SHADER_MAX_INSTANCES = (65535); + [NativeTypeName("#define D3D12_SHADER_MAX_INTERFACES ( 253 )")] + public const int D3D12_SHADER_MAX_INTERFACES = (253); + [NativeTypeName("#define D3D12_SHADER_MAX_INTERFACE_CALL_SITES ( 4096 )")] + public const int D3D12_SHADER_MAX_INTERFACE_CALL_SITES = (4096); + [NativeTypeName("#define D3D12_SHADER_MAX_TYPES ( 65535 )")] + public const int D3D12_SHADER_MAX_TYPES = (65535); + [NativeTypeName("#define D3D12_SHADER_MINOR_VERSION ( 1 )")] + public const int D3D12_SHADER_MINOR_VERSION = (1); + [NativeTypeName("#define D3D12_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )")] + public const int D3D12_SHIFT_INSTRUCTION_PAD_VALUE = (0); + [NativeTypeName("#define D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )")] + public const int D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = (5); + [NativeTypeName("#define D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )")] + public const int D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT = (8); + [NativeTypeName("#define D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT ( 65536 )")] + public const int D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = (65536); + [NativeTypeName("#define D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT ( 4096 )")] + public const int D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT = (4096); + [NativeTypeName("#define D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )")] + public const int D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES = (2048); + [NativeTypeName("#define D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 512 )")] + public const int D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = (512); + [NativeTypeName("#define D3D12_SO_BUFFER_SLOT_COUNT ( 4 )")] + public const int D3D12_SO_BUFFER_SLOT_COUNT = (4); + [NativeTypeName("#define D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )")] + public const uint D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP = (0xffffffff); + [NativeTypeName("#define D3D12_SO_NO_RASTERIZED_STREAM ( 0xffffffff )")] + public const uint D3D12_SO_NO_RASTERIZED_STREAM = (0xffffffff); + [NativeTypeName("#define D3D12_SO_OUTPUT_COMPONENT_COUNT ( 128 )")] + public const int D3D12_SO_OUTPUT_COMPONENT_COUNT = (128); + [NativeTypeName("#define D3D12_SO_STREAM_COUNT ( 4 )")] + public const int D3D12_SO_STREAM_COUNT = (4); + [NativeTypeName("#define D3D12_SPEC_DATE_DAY ( 14 )")] + public const int D3D12_SPEC_DATE_DAY = (14); + [NativeTypeName("#define D3D12_SPEC_DATE_MONTH ( 11 )")] + public const int D3D12_SPEC_DATE_MONTH = (11); + [NativeTypeName("#define D3D12_SPEC_DATE_YEAR ( 2014 )")] + public const int D3D12_SPEC_DATE_YEAR = (2014); + [NativeTypeName("#define D3D12_SPEC_VERSION ( 1.16 )")] + public const double D3D12_SPEC_VERSION = (1.16); + [NativeTypeName("#define D3D12_SRGB_GAMMA ( 2.2f )")] + public const float D3D12_SRGB_GAMMA = (2.2f); + [NativeTypeName("#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )")] + public const float D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 = (12.92f); + [NativeTypeName("#define D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )")] + public const float D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 = (1.055f); + [NativeTypeName("#define D3D12_SRGB_TO_FLOAT_EXPONENT ( 2.4f )")] + public const float D3D12_SRGB_TO_FLOAT_EXPONENT = (2.4f); + [NativeTypeName("#define D3D12_SRGB_TO_FLOAT_OFFSET ( 0.055f )")] + public const float D3D12_SRGB_TO_FLOAT_OFFSET = (0.055f); + [NativeTypeName("#define D3D12_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )")] + public const float D3D12_SRGB_TO_FLOAT_THRESHOLD = (0.04045f); + [NativeTypeName("#define D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )")] + public const float D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = (0.5f); + [NativeTypeName("#define D3D12_STANDARD_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_STANDARD_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )")] + public const int D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = (64); + [NativeTypeName("#define D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )")] + public const int D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = (4); + [NativeTypeName("#define D3D12_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )")] + public const int D3D12_STANDARD_PIXEL_COMPONENT_COUNT = (128); + [NativeTypeName("#define D3D12_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )")] + public const int D3D12_STANDARD_PIXEL_ELEMENT_COUNT = (32); + [NativeTypeName("#define D3D12_STANDARD_VECTOR_SIZE ( 4 )")] + public const int D3D12_STANDARD_VECTOR_SIZE = (4); + [NativeTypeName("#define D3D12_STANDARD_VERTEX_ELEMENT_COUNT ( 32 )")] + public const int D3D12_STANDARD_VERTEX_ELEMENT_COUNT = (32); + [NativeTypeName("#define D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )")] + public const int D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = (64); + [NativeTypeName("#define D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )")] + public const int D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT = (8); + [NativeTypeName("#define D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 8 )")] + public const int D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT = (8); + [NativeTypeName("#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END ( 0xffffffff )")] + public const uint D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END = (0xffffffff); + [NativeTypeName("#define D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START ( 0xfffffff0 )")] + public const uint D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START = (0xfffffff0); + [NativeTypeName("#define D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR ( 64 )")] + public const int D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR = (64); + [NativeTypeName("#define D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 64 )")] + public const int D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR = (64); + [NativeTypeName("#define D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR ( 63 )")] + public const int D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR = (63); + [NativeTypeName("#define D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR ( 64 )")] + public const int D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR = (64); + [NativeTypeName("#define D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR ( 2 )")] + public const int D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR = (2); + [NativeTypeName("#define D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR ( 1 )")] + public const int D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR = (1); + [NativeTypeName("#define D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR ( 1 )")] + public const int D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR = (1); + [NativeTypeName("#define D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )")] + public const int D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT = (16); + [NativeTypeName("#define D3D12_TEXTURE_DATA_PITCH_ALIGNMENT ( 256 )")] + public const int D3D12_TEXTURE_DATA_PITCH_ALIGNMENT = (256); + [NativeTypeName("#define D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT ( 512 )")] + public const int D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT = (512); + [NativeTypeName("#define D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )")] + public const int D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES = (65536); + [NativeTypeName("#define D3D12_TRACKED_WORKLOAD_MAX_INSTANCES ( 32 )")] + public const int D3D12_TRACKED_WORKLOAD_MAX_INSTANCES = (32); + [NativeTypeName("#define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT ( 4096 )")] + public const int D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT = (4096); + [NativeTypeName("#define D3D12_UAV_SLOT_COUNT ( 64 )")] + public const int D3D12_UAV_SLOT_COUNT = (64); + [NativeTypeName("#define D3D12_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )")] + public const int D3D12_UNBOUND_MEMORY_ACCESS_RESULT = (0); + [NativeTypeName("#define D3D12_VIDEO_DECODE_MAX_ARGUMENTS ( 10 )")] + public const int D3D12_VIDEO_DECODE_MAX_ARGUMENTS = (10); + [NativeTypeName("#define D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS ( 4 )")] + public const int D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS = (4); + [NativeTypeName("#define D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT ( 256 )")] + public const int D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT = (256); + [NativeTypeName("#define D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT ( 256 )")] + public const int D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT = (256); + [NativeTypeName("#define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN ( 0xffffffff )")] + public const uint D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN = (0xffffffff); + [NativeTypeName("#define D3D12_VIDEO_PROCESS_MAX_FILTERS ( 32 )")] + public const int D3D12_VIDEO_PROCESS_MAX_FILTERS = (32); + [NativeTypeName("#define D3D12_VIDEO_PROCESS_STEREO_VIEWS ( 2 )")] + public const int D3D12_VIDEO_PROCESS_STEREO_VIEWS = (2); + [NativeTypeName("#define D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )")] + public const int D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = (15); + [NativeTypeName("#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )")] + public const int D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = (16); + [NativeTypeName("#define D3D12_VIEWPORT_BOUNDS_MAX ( 32767 )")] + public const int D3D12_VIEWPORT_BOUNDS_MAX = (32767); + [NativeTypeName("#define D3D12_VIEWPORT_BOUNDS_MIN ( -32768 )")] + public const int D3D12_VIEWPORT_BOUNDS_MIN = (-32768); + [NativeTypeName("#define D3D12_VS_INPUT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_VS_INPUT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_VS_INPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_VS_INPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_VS_INPUT_REGISTER_READS_PER_INST ( 2 )")] + public const int D3D12_VS_INPUT_REGISTER_READS_PER_INST = (2); + [NativeTypeName("#define D3D12_VS_INPUT_REGISTER_READ_PORTS ( 1 )")] + public const int D3D12_VS_INPUT_REGISTER_READ_PORTS = (1); + [NativeTypeName("#define D3D12_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )")] + public const int D3D12_VS_OUTPUT_REGISTER_COMPONENTS = (4); + [NativeTypeName("#define D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )")] + public const int D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = (32); + [NativeTypeName("#define D3D12_VS_OUTPUT_REGISTER_COUNT ( 32 )")] + public const int D3D12_VS_OUTPUT_REGISTER_COUNT = (32); + [NativeTypeName("#define D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )")] + public const int D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = (10); + [NativeTypeName("#define D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )")] + public const int D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = (25); + [NativeTypeName("#define D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )")] + public const int D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = (25); + [NativeTypeName("#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7")] + public const int D3D12_SHADER_COMPONENT_MAPPING_MASK = 0x7; + [NativeTypeName("#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3")] + public const int D3D12_SHADER_COMPONENT_MAPPING_SHIFT = 3; + [NativeTypeName("#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))")] + public const int D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES = (1 << (3 * 4)); + [NativeTypeName("#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)")] + public const int D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING = ((((0) & 0x7) | (((1) & 0x7) << 3) | (((2) & 0x7) << (3 * 2)) | (((3) & 0x7) << (3 * 3)) | (1 << (3 * 4)))); + [NativeTypeName("#define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )")] + public const int D3D12_FILTER_REDUCTION_TYPE_MASK = (0x3); + [NativeTypeName("#define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )")] + public const int D3D12_FILTER_REDUCTION_TYPE_SHIFT = (7); + [NativeTypeName("#define D3D12_FILTER_TYPE_MASK ( 0x3 )")] + public const int D3D12_FILTER_TYPE_MASK = (0x3); + [NativeTypeName("#define D3D12_MIN_FILTER_SHIFT ( 4 )")] + public const int D3D12_MIN_FILTER_SHIFT = (4); + [NativeTypeName("#define D3D12_MAG_FILTER_SHIFT ( 2 )")] + public const int D3D12_MAG_FILTER_SHIFT = (2); + [NativeTypeName("#define D3D12_MIP_FILTER_SHIFT ( 0 )")] + public const int D3D12_MIP_FILTER_SHIFT = (0); + [NativeTypeName("#define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )")] + public const int D3D12_ANISOTROPIC_FILTERING_BIT = (0x40); + [NativeTypeName("#define D3D12_SHADING_RATE_X_AXIS_SHIFT 2")] + public const int D3D12_SHADING_RATE_X_AXIS_SHIFT = 2; + [NativeTypeName("#define D3D12_SHADING_RATE_VALID_MASK 3")] + public const int D3D12_SHADING_RATE_VALID_MASK = 3; +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE.gen.cs new file mode 100644 index 0000000000..f2a2f0b456 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE.gen.cs @@ -0,0 +1,56 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_AUTO_BREADCRUMB_NODE +{ + /// + + [NativeTypeName("const char *")] + public sbyte* pCommandListDebugNameA; + + /// + + [NativeTypeName("const wchar_t *")] + public ushort* pCommandListDebugNameW; + + /// + + [NativeTypeName("const char *")] + public sbyte* pCommandQueueDebugNameA; + + /// + + [NativeTypeName("const wchar_t *")] + public ushort* pCommandQueueDebugNameW; + + /// + + public ID3D12GraphicsCommandList* pCommandList; + + /// + + public ID3D12CommandQueue* pCommandQueue; + + /// + + [NativeTypeName("UINT32")] + public uint BreadcrumbCount; + + /// + + [NativeTypeName("const UINT32 *")] + public uint* pLastBreadcrumbValue; + + /// + + [NativeTypeName("const D3D12_AUTO_BREADCRUMB_OP *")] + public D3D12_AUTO_BREADCRUMB_OP* pCommandHistory; + + /// + + [NativeTypeName("const struct D3D12_AUTO_BREADCRUMB_NODE *")] + public D3D12_AUTO_BREADCRUMB_NODE* pNext; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE1.gen.cs new file mode 100644 index 0000000000..2daf53e468 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE1.gen.cs @@ -0,0 +1,63 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_AUTO_BREADCRUMB_NODE1 +{ + /// + + [NativeTypeName("const char *")] + public sbyte* pCommandListDebugNameA; + + /// + + [NativeTypeName("const wchar_t *")] + public ushort* pCommandListDebugNameW; + + /// + + [NativeTypeName("const char *")] + public sbyte* pCommandQueueDebugNameA; + + /// + + [NativeTypeName("const wchar_t *")] + public ushort* pCommandQueueDebugNameW; + + /// + + public ID3D12GraphicsCommandList* pCommandList; + + /// + + public ID3D12CommandQueue* pCommandQueue; + + /// + + public uint BreadcrumbCount; + + /// + + [NativeTypeName("const UINT *")] + public uint* pLastBreadcrumbValue; + + /// + + [NativeTypeName("const D3D12_AUTO_BREADCRUMB_OP *")] + public D3D12_AUTO_BREADCRUMB_OP* pCommandHistory; + + /// + + [NativeTypeName("const struct D3D12_AUTO_BREADCRUMB_NODE1 *")] + public D3D12_AUTO_BREADCRUMB_NODE1* pNext; + + /// + + public uint BreadcrumbContextsCount; + + /// + + public D3D12_DRED_BREADCRUMB_CONTEXT* pBreadcrumbContexts; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_OP.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_OP.gen.cs new file mode 100644 index 0000000000..74faff8f9c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_OP.gen.cs @@ -0,0 +1,188 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_AUTO_BREADCRUMB_OP +{ + /// + + D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0, + + /// + + D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 1, + + /// + + D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 2, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 3, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 4, + + /// + + D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 5, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 6, + + /// + + D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 7, + + /// + + D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 8, + + /// + + D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 9, + + /// + + D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 10, + + /// + + D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 11, + + /// + + D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 12, + + /// + + D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 13, + + /// + + D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 14, + + /// + + D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 15, + + /// + + D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 16, + + /// + + D3D12_AUTO_BREADCRUMB_OP_PRESENT = 17, + + /// + + D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 18, + + /// + + D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 19, + + /// + + D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 20, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 21, + + /// + + D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 22, + + /// + + D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 23, + + /// + + D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 24, + + /// + + D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 25, + + /// + + D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 26, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 27, + + /// + + D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 28, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 29, + + /// + + D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 30, + + /// + + D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31, + + /// + + D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32, + + /// + + D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 34, + + /// + + D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 35, + + /// + + D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 36, + + /// + + D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37, + + /// + + D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38, + + /// + + D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39, + + /// + + D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 40, + + /// + + D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 41, + + /// + + D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42, + + /// + + D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 43, + + /// + + D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 44, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_AXIS_SHADING_RATE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_AXIS_SHADING_RATE.gen.cs new file mode 100644 index 0000000000..0b49192cd5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_AXIS_SHADING_RATE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_AXIS_SHADING_RATE +{ + /// + + D3D12_AXIS_SHADING_RATE_1X = 0, + + /// + + D3D12_AXIS_SHADING_RATE_2X = 0x1, + + /// + + D3D12_AXIS_SHADING_RATE_4X = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BACKGROUND_PROCESSING_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BACKGROUND_PROCESSING_MODE.gen.cs new file mode 100644 index 0000000000..39c2c151dd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BACKGROUND_PROCESSING_MODE.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BACKGROUND_PROCESSING_MODE +{ + /// + + D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0, + + /// + + D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = + (D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED + 1), + + /// + + D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = + (D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS + 1), + + /// + + D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = + (D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_ACCESS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_ACCESS.gen.cs new file mode 100644 index 0000000000..a1871aa01e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_ACCESS.gen.cs @@ -0,0 +1,112 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BARRIER_ACCESS +{ + /// + + D3D12_BARRIER_ACCESS_COMMON = 0, + + /// + + D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1, + + /// + + D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2, + + /// + + D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4, + + /// + + D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8, + + /// + + D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10, + + /// + + D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20, + + /// + + D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40, + + /// + + D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80, + + /// + + D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100, + + /// + + D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200, + + /// + + D3D12_BARRIER_ACCESS_PREDICATION = 0x200, + + /// + + D3D12_BARRIER_ACCESS_COPY_DEST = 0x400, + + /// + + D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800, + + /// + + D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000, + + /// + + D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000, + + /// + + D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000, + + /// + + D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000, + + /// + + D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000, + + /// + + D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000, + + /// + + D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000, + + /// + + D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000, + + /// + + D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000, + + /// + + D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000, + + /// + + D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000, + + /// + + D3D12_BARRIER_ACCESS_NO_ACCESS = unchecked((int)(0x80000000)), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_GROUP.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_GROUP.gen.cs new file mode 100644 index 0000000000..894905ae1b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_GROUP.gen.cs @@ -0,0 +1,77 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_BARRIER_GROUP +{ + /// + + public D3D12_BARRIER_TYPE Type; + + /// + + [NativeTypeName("UINT32")] + public uint NumBarriers; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L21089_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_GLOBAL_BARRIER* pGlobalBarriers + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pGlobalBarriers; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEXTURE_BARRIER* pTextureBarriers + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pTextureBarriers; } + } + + /// + + [UnscopedRef] + public ref D3D12_BUFFER_BARRIER* pBufferBarriers + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pBufferBarriers; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_GLOBAL_BARRIER *")] + public D3D12_GLOBAL_BARRIER* pGlobalBarriers; + + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_TEXTURE_BARRIER *")] + public D3D12_TEXTURE_BARRIER* pTextureBarriers; + + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_BUFFER_BARRIER *")] + public D3D12_BUFFER_BARRIER* pBufferBarriers; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_LAYOUT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_LAYOUT.gen.cs new file mode 100644 index 0000000000..d2a8a42b53 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_LAYOUT.gen.cs @@ -0,0 +1,149 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BARRIER_LAYOUT +{ + /// + + D3D12_BARRIER_LAYOUT_UNDEFINED = unchecked((int)(0xffffffff)), + + /// + + D3D12_BARRIER_LAYOUT_COMMON = 0, + + /// + + D3D12_BARRIER_LAYOUT_PRESENT = 0, + + /// + + D3D12_BARRIER_LAYOUT_GENERIC_READ = (D3D12_BARRIER_LAYOUT_PRESENT + 1), + + /// + + D3D12_BARRIER_LAYOUT_RENDER_TARGET = (D3D12_BARRIER_LAYOUT_GENERIC_READ + 1), + + /// + + D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = (D3D12_BARRIER_LAYOUT_RENDER_TARGET + 1), + + /// + + D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = (D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS + 1), + + /// + + D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = (D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE + 1), + + /// + + D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = (D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ + 1), + + /// + + D3D12_BARRIER_LAYOUT_COPY_SOURCE = (D3D12_BARRIER_LAYOUT_SHADER_RESOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_COPY_DEST = (D3D12_BARRIER_LAYOUT_COPY_SOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = (D3D12_BARRIER_LAYOUT_COPY_DEST + 1), + + /// + + D3D12_BARRIER_LAYOUT_RESOLVE_DEST = (D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = (D3D12_BARRIER_LAYOUT_RESOLVE_DEST + 1), + + /// + + D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = (D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = (D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ + 1), + + /// + + D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = (D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE + 1), + + /// + + D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = (D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ + 1), + + /// + + D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = (D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE + 1), + + /// + + D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = (D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ + 1), + + /// + + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = (D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE + 1), + + /// + + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = (D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON + 1), + + /// + + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = + (D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ + 1), + + /// + + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = + (D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS + 1), + + /// + + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = + (D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = + (D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = (D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST + 1), + + /// + + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = + (D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON + 1), + + /// + + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = + (D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ + 1), + + /// + + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = + (D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS + 1), + + /// + + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = + (D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = + (D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE + 1), + + /// + + D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = (D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SUBRESOURCE_RANGE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SUBRESOURCE_RANGE.gen.cs new file mode 100644 index 0000000000..b4a14ab3e5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SUBRESOURCE_RANGE.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BARRIER_SUBRESOURCE_RANGE +{ + /// + + public uint IndexOrFirstMipLevel; + + /// + + public uint NumMipLevels; + + /// + + public uint FirstArraySlice; + + /// + + public uint NumArraySlices; + + /// + + public uint FirstPlane; + + /// + + public uint NumPlanes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SYNC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SYNC.gen.cs new file mode 100644 index 0000000000..79208eea82 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SYNC.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BARRIER_SYNC +{ + /// + + D3D12_BARRIER_SYNC_NONE = 0, + + /// + + D3D12_BARRIER_SYNC_ALL = 0x1, + + /// + + D3D12_BARRIER_SYNC_DRAW = 0x2, + + /// + + D3D12_BARRIER_SYNC_INPUT_ASSEMBLER = 0x4, + + /// + + D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8, + + /// + + D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10, + + /// + + D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20, + + /// + + D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40, + + /// + + D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80, + + /// + + D3D12_BARRIER_SYNC_RAYTRACING = 0x100, + + /// + + D3D12_BARRIER_SYNC_COPY = 0x200, + + /// + + D3D12_BARRIER_SYNC_RESOLVE = 0x400, + + /// + + D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800, + + /// + + D3D12_BARRIER_SYNC_PREDICATION = 0x800, + + /// + + D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000, + + /// + + D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000, + + /// + + D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000, + + /// + + D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW = 0x8000, + + /// + + D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000, + + /// + + D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000, + + /// + + D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000, + + /// + + D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000, + + /// + + D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000, + + /// + + D3D12_BARRIER_SYNC_SPLIT = unchecked((int)(0x80000000)), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_TYPE.gen.cs new file mode 100644 index 0000000000..f728902e50 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BARRIER_TYPE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BARRIER_TYPE +{ + /// + + D3D12_BARRIER_TYPE_GLOBAL = 0, + + /// + + D3D12_BARRIER_TYPE_TEXTURE = (D3D12_BARRIER_TYPE_GLOBAL + 1), + + /// + + D3D12_BARRIER_TYPE_BUFFER = (D3D12_BARRIER_TYPE_TEXTURE + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND.gen.cs new file mode 100644 index 0000000000..ce2e7147b7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND.gen.cs @@ -0,0 +1,84 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BLEND +{ + /// + + D3D12_BLEND_ZERO = 1, + + /// + + D3D12_BLEND_ONE = 2, + + /// + + D3D12_BLEND_SRC_COLOR = 3, + + /// + + D3D12_BLEND_INV_SRC_COLOR = 4, + + /// + + D3D12_BLEND_SRC_ALPHA = 5, + + /// + + D3D12_BLEND_INV_SRC_ALPHA = 6, + + /// + + D3D12_BLEND_DEST_ALPHA = 7, + + /// + + D3D12_BLEND_INV_DEST_ALPHA = 8, + + /// + + D3D12_BLEND_DEST_COLOR = 9, + + /// + + D3D12_BLEND_INV_DEST_COLOR = 10, + + /// + + D3D12_BLEND_SRC_ALPHA_SAT = 11, + + /// + + D3D12_BLEND_BLEND_FACTOR = 14, + + /// + + D3D12_BLEND_INV_BLEND_FACTOR = 15, + + /// + + D3D12_BLEND_SRC1_COLOR = 16, + + /// + + D3D12_BLEND_INV_SRC1_COLOR = 17, + + /// + + D3D12_BLEND_SRC1_ALPHA = 18, + + /// + + D3D12_BLEND_INV_SRC1_ALPHA = 19, + + /// + + D3D12_BLEND_ALPHA_FACTOR = 20, + + /// + + D3D12_BLEND_INV_ALPHA_FACTOR = 21, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND_DESC.gen.cs new file mode 100644 index 0000000000..0cfb4fa1b8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND_DESC.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BLEND_DESC +{ + /// + + public BOOL AlphaToCoverageEnable; + + /// + + public BOOL IndependentBlendEnable; + + /// + + [NativeTypeName("D3D12_RENDER_TARGET_BLEND_DESC[8]")] + public _RenderTarget_e__FixedBuffer RenderTarget; + + /// + + [InlineArray(8)] + public partial struct _RenderTarget_e__FixedBuffer + { + public D3D12_RENDER_TARGET_BLEND_DESC e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND_OP.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND_OP.gen.cs new file mode 100644 index 0000000000..25b88cbb6b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BLEND_OP.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BLEND_OP +{ + /// + + D3D12_BLEND_OP_ADD = 1, + + /// + + D3D12_BLEND_OP_SUBTRACT = 2, + + /// + + D3D12_BLEND_OP_REV_SUBTRACT = 3, + + /// + + D3D12_BLEND_OP_MIN = 4, + + /// + + D3D12_BLEND_OP_MAX = 5, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BOX.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BOX.gen.cs new file mode 100644 index 0000000000..52187de326 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BOX.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BOX +{ + /// + + public uint left; + + /// + + public uint top; + + /// + + public uint front; + + /// + + public uint right; + + /// + + public uint bottom; + + /// + + public uint back; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_BARRIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_BARRIER.gen.cs new file mode 100644 index 0000000000..fc9c99d9de --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_BARRIER.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_BUFFER_BARRIER +{ + /// + + public D3D12_BARRIER_SYNC SyncBefore; + + /// + + public D3D12_BARRIER_SYNC SyncAfter; + + /// + + public D3D12_BARRIER_ACCESS AccessBefore; + + /// + + public D3D12_BARRIER_ACCESS AccessAfter; + + /// + + public ID3D12Resource* pResource; + + /// + + [NativeTypeName("UINT64")] + public ulong Offset; + + /// + + [NativeTypeName("UINT64")] + public ulong Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_RTV.gen.cs new file mode 100644 index 0000000000..287bb0a54c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_RTV.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BUFFER_RTV +{ + /// + + [NativeTypeName("UINT64")] + public ulong FirstElement; + + /// + + public uint NumElements; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRV.gen.cs new file mode 100644 index 0000000000..a2b29b496b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRV.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BUFFER_SRV +{ + /// + + [NativeTypeName("UINT64")] + public ulong FirstElement; + + /// + + public uint NumElements; + + /// + + public uint StructureByteStride; + + /// + + public D3D12_BUFFER_SRV_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRV_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRV_FLAGS.gen.cs new file mode 100644 index 0000000000..7000a16180 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRV_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_BUFFER_SRV_FLAGS +{ + /// + + D3D12_BUFFER_SRV_FLAG_NONE = 0, + + /// + + D3D12_BUFFER_SRV_FLAG_RAW = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAV.gen.cs new file mode 100644 index 0000000000..3c260917b6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAV.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BUFFER_UAV +{ + /// + + [NativeTypeName("UINT64")] + public ulong FirstElement; + + /// + + public uint NumElements; + + /// + + public uint StructureByteStride; + + /// + + [NativeTypeName("UINT64")] + public ulong CounterOffsetInBytes; + + /// + + public D3D12_BUFFER_UAV_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAV_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAV_FLAGS.gen.cs new file mode 100644 index 0000000000..a141a849ff --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAV_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_BUFFER_UAV_FLAGS +{ + /// + + D3D12_BUFFER_UAV_FLAG_NONE = 0, + + /// + + D3D12_BUFFER_UAV_FLAG_RAW = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC.gen.cs new file mode 100644 index 0000000000..58e098cb79 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong DestAccelerationStructureData; + + /// + + public D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs; + + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong SourceAccelerationStructureData; + + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong ScratchAccelerationStructureData; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.gen.cs new file mode 100644 index 0000000000..f47b3d4a12 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.gen.cs @@ -0,0 +1,84 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS +{ + /// + + public D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; + + /// + + public D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; + + /// + + public uint NumDescs; + + /// + + public D3D12_ELEMENTS_LAYOUT DescsLayout; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L13833_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref ulong InstanceDescs + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.InstanceDescs; } + } + + /// + + [UnscopedRef] + public ref D3D12_RAYTRACING_GEOMETRY_DESC* pGeometryDescs + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pGeometryDescs; } + } + + /// + + [UnscopedRef] + public ref D3D12_RAYTRACING_GEOMETRY_DESC** ppGeometryDescs + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.ppGeometryDescs; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong InstanceDescs; + + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_RAYTRACING_GEOMETRY_DESC *")] + public D3D12_RAYTRACING_GEOMETRY_DESC* pGeometryDescs; + + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_RAYTRACING_GEOMETRY_DESC *const *")] + public D3D12_RAYTRACING_GEOMETRY_DESC** ppGeometryDescs; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER.gen.cs new file mode 100644 index 0000000000..75b851c52e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER +{ + /// + + public D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; + + /// + + public uint NumDescs; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CACHED_PIPELINE_STATE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CACHED_PIPELINE_STATE.gen.cs new file mode 100644 index 0000000000..6dcd54c708 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CACHED_PIPELINE_STATE.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_CACHED_PIPELINE_STATE +{ + /// + + [NativeTypeName("const void *")] + public void* pCachedBlob; + + /// + + [NativeTypeName("SIZE_T")] + public nuint CachedBlobSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CLEAR_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CLEAR_FLAGS.gen.cs new file mode 100644 index 0000000000..77d05c4244 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CLEAR_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_CLEAR_FLAGS +{ + /// + + D3D12_CLEAR_FLAG_DEPTH = 0x1, + + /// + + D3D12_CLEAR_FLAG_STENCIL = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CLEAR_VALUE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CLEAR_VALUE.gen.cs new file mode 100644 index 0000000000..d38d3e2ba8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CLEAR_VALUE.gen.cs @@ -0,0 +1,65 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_CLEAR_VALUE +{ + /// + + public DXGI_FORMAT Format; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L2829_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public Span Color + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return Anonymous.Color; } + } + + /// + + [UnscopedRef] + public ref D3D12_DEPTH_STENCIL_VALUE DepthStencil + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.DepthStencil; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("FLOAT[4]")] + public _Color_e__FixedBuffer Color; + + /// + + [FieldOffset(0)] + public D3D12_DEPTH_STENCIL_VALUE DepthStencil; + + /// + + [InlineArray(4)] + public partial struct _Color_e__FixedBuffer + { + public float e0; + } + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COLOR_WRITE_ENABLE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COLOR_WRITE_ENABLE.gen.cs new file mode 100644 index 0000000000..a84153930d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COLOR_WRITE_ENABLE.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_COLOR_WRITE_ENABLE +{ + /// + + D3D12_COLOR_WRITE_ENABLE_RED = 1, + + /// + + D3D12_COLOR_WRITE_ENABLE_GREEN = 2, + + /// + + D3D12_COLOR_WRITE_ENABLE_BLUE = 4, + + /// + + D3D12_COLOR_WRITE_ENABLE_ALPHA = 8, + + /// + + D3D12_COLOR_WRITE_ENABLE_ALL = + ( + ( + (D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN) + | D3D12_COLOR_WRITE_ENABLE_BLUE + ) | D3D12_COLOR_WRITE_ENABLE_ALPHA + ), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_FLAGS.gen.cs new file mode 100644 index 0000000000..5f131c6db9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_FLAGS.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_COMMAND_LIST_FLAGS +{ + /// + + D3D12_COMMAND_LIST_FLAG_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..780dacc8c8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using static Silk.NET.DirectX.D3D12_COMMAND_LIST_TYPE; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_COMMAND_LIST_SUPPORT_FLAGS +{ + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = (1 << D3D12_COMMAND_LIST_TYPE_DIRECT), + + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = (1 << D3D12_COMMAND_LIST_TYPE_BUNDLE), + + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = (1 << D3D12_COMMAND_LIST_TYPE_COMPUTE), + + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = (1 << D3D12_COMMAND_LIST_TYPE_COPY), + + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = (1 << D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE), + + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = (1 << D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS), + + /// + + D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = (1 << D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_TYPE.gen.cs new file mode 100644 index 0000000000..8a86d8f4d7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_LIST_TYPE.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_COMMAND_LIST_TYPE +{ + /// + + D3D12_COMMAND_LIST_TYPE_DIRECT = 0, + + /// + + D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, + + /// + + D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, + + /// + + D3D12_COMMAND_LIST_TYPE_COPY = 3, + + /// + + D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4, + + /// + + D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5, + + /// + + D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6, + + /// + + D3D12_COMMAND_LIST_TYPE_NONE = -1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_POOL_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_POOL_FLAGS.gen.cs new file mode 100644 index 0000000000..16eae26fa5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_POOL_FLAGS.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_COMMAND_POOL_FLAGS +{ + /// + + D3D12_COMMAND_POOL_FLAG_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_DESC.gen.cs new file mode 100644 index 0000000000..4f86edc626 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_DESC.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_COMMAND_QUEUE_DESC +{ + /// + + public D3D12_COMMAND_LIST_TYPE Type; + + /// + + public int Priority; + + /// + + public D3D12_COMMAND_QUEUE_FLAGS Flags; + + /// + + public uint NodeMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_FLAGS.gen.cs new file mode 100644 index 0000000000..35d6b446a2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_COMMAND_QUEUE_FLAGS +{ + /// + + D3D12_COMMAND_QUEUE_FLAG_NONE = 0, + + /// + + D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_PRIORITY.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_PRIORITY.gen.cs new file mode 100644 index 0000000000..1a0f653af4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_PRIORITY.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_COMMAND_QUEUE_PRIORITY +{ + /// + + D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, + + /// + + D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100, + + /// + + D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_RECORDER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_RECORDER_FLAGS.gen.cs new file mode 100644 index 0000000000..9c6a4a1412 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_RECORDER_FLAGS.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_COMMAND_RECORDER_FLAGS +{ + /// + + D3D12_COMMAND_RECORDER_FLAG_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_SIGNATURE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_SIGNATURE_DESC.gen.cs new file mode 100644 index 0000000000..0c28e6ba58 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMMAND_SIGNATURE_DESC.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_COMMAND_SIGNATURE_DESC +{ + /// + + public uint ByteStride; + + /// + + public uint NumArgumentDescs; + + /// + + [NativeTypeName("const D3D12_INDIRECT_ARGUMENT_DESC *")] + public D3D12_INDIRECT_ARGUMENT_DESC* pArgumentDescs; + + /// + + public uint NodeMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMPARISON_FUNC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMPARISON_FUNC.gen.cs new file mode 100644 index 0000000000..0150fbb799 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMPARISON_FUNC.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_COMPARISON_FUNC +{ + /// + + D3D12_COMPARISON_FUNC_NONE = 0, + + /// + + D3D12_COMPARISON_FUNC_NEVER = 1, + + /// + + D3D12_COMPARISON_FUNC_LESS = 2, + + /// + + D3D12_COMPARISON_FUNC_EQUAL = 3, + + /// + + D3D12_COMPARISON_FUNC_LESS_EQUAL = 4, + + /// + + D3D12_COMPARISON_FUNC_GREATER = 5, + + /// + + D3D12_COMPARISON_FUNC_NOT_EQUAL = 6, + + /// + + D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7, + + /// + + D3D12_COMPARISON_FUNC_ALWAYS = 8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_COMPUTE_PIPELINE_STATE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_COMPUTE_PIPELINE_STATE_DESC.gen.cs new file mode 100644 index 0000000000..91e2eae8a6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_COMPUTE_PIPELINE_STATE_DESC.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_COMPUTE_PIPELINE_STATE_DESC +{ + /// + + public ID3D12RootSignature* pRootSignature; + + /// + + public D3D12_SHADER_BYTECODE CS; + + /// + + public uint NodeMask; + + /// + + public D3D12_CACHED_PIPELINE_STATE CachedPSO; + + /// + + public D3D12_PIPELINE_STATE_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CONSERVATIVE_RASTERIZATION_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CONSERVATIVE_RASTERIZATION_MODE.gen.cs new file mode 100644 index 0000000000..2b9edae92f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CONSERVATIVE_RASTERIZATION_MODE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_CONSERVATIVE_RASTERIZATION_MODE +{ + /// + + D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, + + /// + + D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CONSERVATIVE_RASTERIZATION_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CONSERVATIVE_RASTERIZATION_TIER.gen.cs new file mode 100644 index 0000000000..80b8c3c980 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CONSERVATIVE_RASTERIZATION_TIER.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_CONSERVATIVE_RASTERIZATION_TIER +{ + /// + + D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, + + /// + + D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, + + /// + + D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CONSTANT_BUFFER_VIEW_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CONSTANT_BUFFER_VIEW_DESC.gen.cs new file mode 100644 index 0000000000..874bdb70fb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CONSTANT_BUFFER_VIEW_DESC.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_CONSTANT_BUFFER_VIEW_DESC +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong BufferLocation; + + /// + + public uint SizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CPU_DESCRIPTOR_HANDLE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CPU_DESCRIPTOR_HANDLE.gen.cs new file mode 100644 index 0000000000..c22f66dedf --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CPU_DESCRIPTOR_HANDLE.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_CPU_DESCRIPTOR_HANDLE +{ + /// + + [NativeTypeName("SIZE_T")] + public nuint ptr; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CPU_PAGE_PROPERTY.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CPU_PAGE_PROPERTY.gen.cs new file mode 100644 index 0000000000..ac55f38d0b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CPU_PAGE_PROPERTY.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_CPU_PAGE_PROPERTY +{ + /// + + D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0, + + /// + + D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1, + + /// + + D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2, + + /// + + D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CROSS_NODE_SHARING_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CROSS_NODE_SHARING_TIER.gen.cs new file mode 100644 index 0000000000..ade5b0f352 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CROSS_NODE_SHARING_TIER.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_CROSS_NODE_SHARING_TIER +{ + /// + + D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1, + + /// + + D3D12_CROSS_NODE_SHARING_TIER_1 = 2, + + /// + + D3D12_CROSS_NODE_SHARING_TIER_2 = 3, + + /// + + D3D12_CROSS_NODE_SHARING_TIER_3 = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_CULL_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_CULL_MODE.gen.cs new file mode 100644 index 0000000000..6467aff600 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_CULL_MODE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_CULL_MODE +{ + /// + + D3D12_CULL_MODE_NONE = 1, + + /// + + D3D12_CULL_MODE_FRONT = 2, + + /// + + D3D12_CULL_MODE_BACK = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC.gen.cs new file mode 100644 index 0000000000..5f580a1c23 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEPTH_STENCILOP_DESC +{ + /// + + public D3D12_STENCIL_OP StencilFailOp; + + /// + + public D3D12_STENCIL_OP StencilDepthFailOp; + + /// + + public D3D12_STENCIL_OP StencilPassOp; + + /// + + public D3D12_COMPARISON_FUNC StencilFunc; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC1.gen.cs new file mode 100644 index 0000000000..96a3ecf1e3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC1.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEPTH_STENCILOP_DESC1 +{ + /// + + public D3D12_STENCIL_OP StencilFailOp; + + /// + + public D3D12_STENCIL_OP StencilDepthFailOp; + + /// + + public D3D12_STENCIL_OP StencilPassOp; + + /// + + public D3D12_COMPARISON_FUNC StencilFunc; + + /// + + [NativeTypeName("UINT8")] + public byte StencilReadMask; + + /// + + [NativeTypeName("UINT8")] + public byte StencilWriteMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC.gen.cs new file mode 100644 index 0000000000..612261911a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEPTH_STENCIL_DESC +{ + /// + + public BOOL DepthEnable; + + /// + + public D3D12_DEPTH_WRITE_MASK DepthWriteMask; + + /// + + public D3D12_COMPARISON_FUNC DepthFunc; + + /// + + public BOOL StencilEnable; + + /// + + [NativeTypeName("UINT8")] + public byte StencilReadMask; + + /// + + [NativeTypeName("UINT8")] + public byte StencilWriteMask; + + /// + + public D3D12_DEPTH_STENCILOP_DESC FrontFace; + + /// + + public D3D12_DEPTH_STENCILOP_DESC BackFace; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC1.gen.cs new file mode 100644 index 0000000000..d3a5084c25 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC1.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEPTH_STENCIL_DESC1 +{ + /// + + public BOOL DepthEnable; + + /// + + public D3D12_DEPTH_WRITE_MASK DepthWriteMask; + + /// + + public D3D12_COMPARISON_FUNC DepthFunc; + + /// + + public BOOL StencilEnable; + + /// + + [NativeTypeName("UINT8")] + public byte StencilReadMask; + + /// + + [NativeTypeName("UINT8")] + public byte StencilWriteMask; + + /// + + public D3D12_DEPTH_STENCILOP_DESC FrontFace; + + /// + + public D3D12_DEPTH_STENCILOP_DESC BackFace; + + /// + + public BOOL DepthBoundsTestEnable; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC2.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC2.gen.cs new file mode 100644 index 0000000000..3472bf85ab --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC2.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEPTH_STENCIL_DESC2 +{ + /// + + public BOOL DepthEnable; + + /// + + public D3D12_DEPTH_WRITE_MASK DepthWriteMask; + + /// + + public D3D12_COMPARISON_FUNC DepthFunc; + + /// + + public BOOL StencilEnable; + + /// + + public D3D12_DEPTH_STENCILOP_DESC1 FrontFace; + + /// + + public D3D12_DEPTH_STENCILOP_DESC1 BackFace; + + /// + + public BOOL DepthBoundsTestEnable; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VALUE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VALUE.gen.cs new file mode 100644 index 0000000000..d17256f4b0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VALUE.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEPTH_STENCIL_VALUE +{ + /// + + public float Depth; + + /// + + [NativeTypeName("UINT8")] + public byte Stencil; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VIEW_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VIEW_DESC.gen.cs new file mode 100644 index 0000000000..422895d7f7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VIEW_DESC.gen.cs @@ -0,0 +1,119 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEPTH_STENCIL_VIEW_DESC +{ + /// + + public DXGI_FORMAT Format; + + /// + + public D3D12_DSV_DIMENSION ViewDimension; + + /// + + public D3D12_DSV_FLAGS Flags; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3623_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_DSV Texture1D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_ARRAY_DSV Texture1DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_DSV Texture2D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_ARRAY_DSV Texture2DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_DSV Texture2DMS + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMS; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMSArray; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_TEX1D_DSV Texture1D; + + /// + + [FieldOffset(0)] + public D3D12_TEX1D_ARRAY_DSV Texture1DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_DSV Texture2D; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_ARRAY_DSV Texture2DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_DSV Texture2DMS; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_WRITE_MASK.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_WRITE_MASK.gen.cs new file mode 100644 index 0000000000..3c36485602 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEPTH_WRITE_MASK.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DEPTH_WRITE_MASK +{ + /// + + D3D12_DEPTH_WRITE_MASK_ZERO = 0, + + /// + + D3D12_DEPTH_WRITE_MASK_ALL = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_DESC.gen.cs new file mode 100644 index 0000000000..b6aae63b24 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_DESC.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DESCRIPTOR_HEAP_DESC +{ + /// + + public D3D12_DESCRIPTOR_HEAP_TYPE Type; + + /// + + public uint NumDescriptors; + + /// + + public D3D12_DESCRIPTOR_HEAP_FLAGS Flags; + + /// + + public uint NodeMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_FLAGS.gen.cs new file mode 100644 index 0000000000..b321a64494 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DESCRIPTOR_HEAP_FLAGS +{ + /// + + D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0, + + /// + + D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_TYPE.gen.cs new file mode 100644 index 0000000000..b0c6f411cd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_TYPE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DESCRIPTOR_HEAP_TYPE +{ + /// + + D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0, + + /// + + D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = (D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1), + + /// + + D3D12_DESCRIPTOR_HEAP_TYPE_RTV = (D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1), + + /// + + D3D12_DESCRIPTOR_HEAP_TYPE_DSV = (D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1), + + /// + + D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = (D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE.gen.cs new file mode 100644 index 0000000000..afb3199bfe --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DESCRIPTOR_RANGE +{ + /// + + public D3D12_DESCRIPTOR_RANGE_TYPE RangeType; + + /// + + public uint NumDescriptors; + + /// + + public uint BaseShaderRegister; + + /// + + public uint RegisterSpace; + + /// + + public uint OffsetInDescriptorsFromTableStart; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE1.gen.cs new file mode 100644 index 0000000000..eb7e9835b2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE1.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DESCRIPTOR_RANGE1 +{ + /// + + public D3D12_DESCRIPTOR_RANGE_TYPE RangeType; + + /// + + public uint NumDescriptors; + + /// + + public uint BaseShaderRegister; + + /// + + public uint RegisterSpace; + + /// + + public D3D12_DESCRIPTOR_RANGE_FLAGS Flags; + + /// + + public uint OffsetInDescriptorsFromTableStart; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE_FLAGS.gen.cs new file mode 100644 index 0000000000..8dd291085b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE_FLAGS.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DESCRIPTOR_RANGE_FLAGS +{ + /// + + D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0, + + /// + + D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1, + + /// + + D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2, + + /// + + D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, + + /// + + D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8, + + /// + + D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE_TYPE.gen.cs new file mode 100644 index 0000000000..2119474256 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE_TYPE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DESCRIPTOR_RANGE_TYPE +{ + /// + + D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0, + + /// + + D3D12_DESCRIPTOR_RANGE_TYPE_UAV = (D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1), + + /// + + D3D12_DESCRIPTOR_RANGE_TYPE_CBV = (D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1), + + /// + + D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = (D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_CONFIGURATION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_CONFIGURATION_DESC.gen.cs new file mode 100644 index 0000000000..11cb1fd6c1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_CONFIGURATION_DESC.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEVICE_CONFIGURATION_DESC +{ + /// + + public D3D12_DEVICE_FLAGS Flags; + + /// + + public uint GpuBasedValidationFlags; + + /// + + public uint SDKVersion; + + /// + + public uint NumEnabledExperimentalFeatures; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_FACTORY_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_FACTORY_FLAGS.gen.cs new file mode 100644 index 0000000000..f1ea953adf --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_FACTORY_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DEVICE_FACTORY_FLAGS +{ + /// + + D3D12_DEVICE_FACTORY_FLAG_NONE = 0, + + /// + + D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE = 0x1, + + /// + + D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE = 0x2, + + /// + + D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_FLAGS.gen.cs new file mode 100644 index 0000000000..20481716c0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_FLAGS.gen.cs @@ -0,0 +1,59 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DEVICE_FLAGS +{ + /// + + D3D12_DEVICE_FLAG_NONE = 0, + + /// + + D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED = 0x1, + + /// + + D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED = 0x2, + + /// + + D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED = 0x4, + + /// + + D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED = 0x8, + + /// + + D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED = 0x10, + + /// + + D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED = 0x20, + + /// + + D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED = 0x40, + + /// + + D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS = 0x80, + + /// + + D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED = 0x100, + + /// + + D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED = 0x200, + + /// + + D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION = 0x400, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA.gen.cs new file mode 100644 index 0000000000..167737001e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DEVICE_REMOVED_EXTENDED_DATA +{ + /// + + public D3D12_DRED_FLAGS Flags; + + /// + + public D3D12_AUTO_BREADCRUMB_NODE* pHeadAutoBreadcrumbNode; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA1.gen.cs new file mode 100644 index 0000000000..4cffbbb65e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA1.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1 +{ + /// + + public HRESULT DeviceRemovedReason; + + /// + + public D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput; + + /// + + public D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA2.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA2.gen.cs new file mode 100644 index 0000000000..993f8e268a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA2.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2 +{ + /// + + public HRESULT DeviceRemovedReason; + + /// + + public D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; + + /// + + public D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA3.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA3.gen.cs new file mode 100644 index 0000000000..e05589770c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA3.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3 +{ + /// + + public HRESULT DeviceRemovedReason; + + /// + + public D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput; + + /// + + public D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput; + + /// + + public D3D12_DRED_DEVICE_STATE DeviceState; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DISCARD_REGION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DISCARD_REGION.gen.cs new file mode 100644 index 0000000000..8a8851ee99 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DISCARD_REGION.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DISCARD_REGION +{ + /// + + public uint NumRects; + + /// + + [NativeTypeName("const D3D12_RECT *")] + public RECT* pRects; + + /// + + public uint FirstSubresource; + + /// + + public uint NumSubresources; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..6433abfd70 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_ARGUMENTS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DISPATCH_ARGUMENTS +{ + /// + + public uint ThreadGroupCountX; + + /// + + public uint ThreadGroupCountY; + + /// + + public uint ThreadGroupCountZ; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_MESH_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_MESH_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..f05cc68022 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_MESH_ARGUMENTS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DISPATCH_MESH_ARGUMENTS +{ + /// + + public uint ThreadGroupCountX; + + /// + + public uint ThreadGroupCountY; + + /// + + public uint ThreadGroupCountZ; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_RAYS_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_RAYS_DESC.gen.cs new file mode 100644 index 0000000000..0d7771b57a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_RAYS_DESC.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DISPATCH_RAYS_DESC +{ + /// + + public D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord; + + /// + + public D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable; + + /// + + public D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable; + + /// + + public D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable; + + /// + + public uint Width; + + /// + + public uint Height; + + /// + + public uint Depth; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRAW_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRAW_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..a4b26461f9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRAW_ARGUMENTS.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DRAW_ARGUMENTS +{ + /// + + public uint VertexCountPerInstance; + + /// + + public uint InstanceCount; + + /// + + public uint StartVertexLocation; + + /// + + public uint StartInstanceLocation; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRAW_INDEXED_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRAW_INDEXED_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..4092212a7d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRAW_INDEXED_ARGUMENTS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DRAW_INDEXED_ARGUMENTS +{ + /// + + public uint IndexCountPerInstance; + + /// + + public uint InstanceCount; + + /// + + public uint StartIndexLocation; + + /// + + public int BaseVertexLocation; + + /// + + public uint StartInstanceLocation; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE.gen.cs new file mode 100644 index 0000000000..9a43fe3d47 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_ALLOCATION_NODE +{ + /// + + [NativeTypeName("const char *")] + public sbyte* ObjectNameA; + + /// + + [NativeTypeName("const wchar_t *")] + public ushort* ObjectNameW; + + /// + + public D3D12_DRED_ALLOCATION_TYPE AllocationType; + + /// + + [NativeTypeName("const struct D3D12_DRED_ALLOCATION_NODE *")] + public D3D12_DRED_ALLOCATION_NODE* pNext; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE1.gen.cs new file mode 100644 index 0000000000..b7209d8f5f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE1.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_ALLOCATION_NODE1 +{ + /// + + [NativeTypeName("const char *")] + public sbyte* ObjectNameA; + + /// + + [NativeTypeName("const wchar_t *")] + public ushort* ObjectNameW; + + /// + + public D3D12_DRED_ALLOCATION_TYPE AllocationType; + + /// + + [NativeTypeName("const struct D3D12_DRED_ALLOCATION_NODE1 *")] + public D3D12_DRED_ALLOCATION_NODE1* pNext; + + /// + + [NativeTypeName("const IUnknown *")] + public IUnknown* pObject; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_TYPE.gen.cs new file mode 100644 index 0000000000..ab1b4750d1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_TYPE.gen.cs @@ -0,0 +1,124 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DRED_ALLOCATION_TYPE +{ + /// + + D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19, + + /// + + D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20, + + /// + + D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21, + + /// + + D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22, + + /// + + D3D12_DRED_ALLOCATION_TYPE_FENCE = 23, + + /// + + D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24, + + /// + + D3D12_DRED_ALLOCATION_TYPE_HEAP = 25, + + /// + + D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27, + + /// + + D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28, + + /// + + D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32, + + /// + + D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34, + + /// + + D3D12_DRED_ALLOCATION_TYPE_PASS = 35, + + /// + + D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36, + + /// + + D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37, + + /// + + D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39, + + /// + + D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40, + + /// + + D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41, + + /// + + D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42, + + /// + + D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43, + + /// + + D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48, + + /// + + D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49, + + /// + + D3D12_DRED_ALLOCATION_TYPE_INVALID = unchecked((int)(0xffffffff)), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT.gen.cs new file mode 100644 index 0000000000..4d7acc18a5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT +{ + /// + + [NativeTypeName("const D3D12_AUTO_BREADCRUMB_NODE *")] + public D3D12_AUTO_BREADCRUMB_NODE* pHeadAutoBreadcrumbNode; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1.gen.cs new file mode 100644 index 0000000000..fab8169f0f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 +{ + /// + + [NativeTypeName("const D3D12_AUTO_BREADCRUMB_NODE1 *")] + public D3D12_AUTO_BREADCRUMB_NODE1* pHeadAutoBreadcrumbNode; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_BREADCRUMB_CONTEXT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_BREADCRUMB_CONTEXT.gen.cs new file mode 100644 index 0000000000..547b4df446 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_BREADCRUMB_CONTEXT.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_BREADCRUMB_CONTEXT +{ + /// + + public uint BreadcrumbIndex; + + /// + + [NativeTypeName("const wchar_t *")] + public ushort* pContextString; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_DEVICE_STATE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_DEVICE_STATE.gen.cs new file mode 100644 index 0000000000..b521ca3a53 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_DEVICE_STATE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DRED_DEVICE_STATE +{ + /// + + D3D12_DRED_DEVICE_STATE_UNKNOWN = 0, + + /// + + D3D12_DRED_DEVICE_STATE_HUNG = 3, + + /// + + D3D12_DRED_DEVICE_STATE_FAULT = 6, + + /// + + D3D12_DRED_DEVICE_STATE_PAGEFAULT = 7, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ENABLEMENT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ENABLEMENT.gen.cs new file mode 100644 index 0000000000..11b5a0929f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_ENABLEMENT.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DRED_ENABLEMENT +{ + /// + + D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0, + + /// + + D3D12_DRED_ENABLEMENT_FORCED_OFF = 1, + + /// + + D3D12_DRED_ENABLEMENT_FORCED_ON = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_FLAGS.gen.cs new file mode 100644 index 0000000000..2536459a9d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DRED_FLAGS +{ + /// + + D3D12_DRED_FLAG_NONE = 0, + + /// + + D3D12_DRED_FLAG_FORCE_ENABLE = 1, + + /// + + D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_FLAGS.gen.cs new file mode 100644 index 0000000000..1f372493b3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_FLAGS.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DRED_PAGE_FAULT_FLAGS +{ + /// + + D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT.gen.cs new file mode 100644 index 0000000000..5b5c484190 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_PAGE_FAULT_OUTPUT +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong PageFaultVA; + + /// + + [NativeTypeName("const D3D12_DRED_ALLOCATION_NODE *")] + public D3D12_DRED_ALLOCATION_NODE* pHeadExistingAllocationNode; + + /// + + [NativeTypeName("const D3D12_DRED_ALLOCATION_NODE *")] + public D3D12_DRED_ALLOCATION_NODE* pHeadRecentFreedAllocationNode; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT1.gen.cs new file mode 100644 index 0000000000..d8adf4a05e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT1.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_PAGE_FAULT_OUTPUT1 +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong PageFaultVA; + + /// + + [NativeTypeName("const D3D12_DRED_ALLOCATION_NODE1 *")] + public D3D12_DRED_ALLOCATION_NODE1* pHeadExistingAllocationNode; + + /// + + [NativeTypeName("const D3D12_DRED_ALLOCATION_NODE1 *")] + public D3D12_DRED_ALLOCATION_NODE1* pHeadRecentFreedAllocationNode; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT2.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT2.gen.cs new file mode 100644 index 0000000000..ae0e57ab40 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT2.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DRED_PAGE_FAULT_OUTPUT2 +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong PageFaultVA; + + /// + + [NativeTypeName("const D3D12_DRED_ALLOCATION_NODE1 *")] + public D3D12_DRED_ALLOCATION_NODE1* pHeadExistingAllocationNode; + + /// + + [NativeTypeName("const D3D12_DRED_ALLOCATION_NODE1 *")] + public D3D12_DRED_ALLOCATION_NODE1* pHeadRecentFreedAllocationNode; + + /// + + public D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_VERSION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_VERSION.gen.cs new file mode 100644 index 0000000000..ef268d9fb0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRED_VERSION.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DRED_VERSION +{ + /// + + D3D12_DRED_VERSION_1_0 = 0x1, + + /// + + D3D12_DRED_VERSION_1_1 = 0x2, + + /// + + D3D12_DRED_VERSION_1_2 = 0x3, + + /// + + D3D12_DRED_VERSION_1_3 = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.gen.cs new file mode 100644 index 0000000000..08bcb5bdaa --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS +{ + /// + + D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0, + + /// + + D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1, + + /// + + D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2, + + /// + + D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3, + + /// + + D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DSV_DIMENSION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DSV_DIMENSION.gen.cs new file mode 100644 index 0000000000..5296f5123a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DSV_DIMENSION.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DSV_DIMENSION +{ + /// + + D3D12_DSV_DIMENSION_UNKNOWN = 0, + + /// + + D3D12_DSV_DIMENSION_TEXTURE1D = 1, + + /// + + D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2, + + /// + + D3D12_DSV_DIMENSION_TEXTURE2D = 3, + + /// + + D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4, + + /// + + D3D12_DSV_DIMENSION_TEXTURE2DMS = 5, + + /// + + D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DSV_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DSV_FLAGS.gen.cs new file mode 100644 index 0000000000..943e80d1df --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DSV_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DSV_FLAGS +{ + /// + + D3D12_DSV_FLAG_NONE = 0, + + /// + + D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1, + + /// + + D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DXIL_LIBRARY_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DXIL_LIBRARY_DESC.gen.cs new file mode 100644 index 0000000000..7159758104 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DXIL_LIBRARY_DESC.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DXIL_LIBRARY_DESC +{ + /// + + public D3D12_SHADER_BYTECODE DXILLibrary; + + /// + + public uint NumExports; + + /// + + public D3D12_EXPORT_DESC* pExports; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION.gen.cs new file mode 100644 index 0000000000..0317f45e91 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION +{ + /// + + [NativeTypeName("LPCWSTR")] + public ushort* SubobjectToAssociate; + + /// + + public uint NumExports; + + /// + + [NativeTypeName("LPCWSTR *")] + public ushort** pExports; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ELEMENTS_LAYOUT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ELEMENTS_LAYOUT.gen.cs new file mode 100644 index 0000000000..b5650563e1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ELEMENTS_LAYOUT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_ELEMENTS_LAYOUT +{ + /// + + D3D12_ELEMENTS_LAYOUT_ARRAY = 0, + + /// + + D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_EXISTING_COLLECTION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_EXISTING_COLLECTION_DESC.gen.cs new file mode 100644 index 0000000000..eccab375a9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_EXISTING_COLLECTION_DESC.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_EXISTING_COLLECTION_DESC +{ + /// + + public ID3D12StateObject* pExistingCollection; + + /// + + public uint NumExports; + + /// + + public D3D12_EXPORT_DESC* pExports; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_EXPORT_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_EXPORT_DESC.gen.cs new file mode 100644 index 0000000000..9a758e7ff4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_EXPORT_DESC.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_EXPORT_DESC +{ + /// + + [NativeTypeName("LPCWSTR")] + public ushort* Name; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* ExportToRename; + + /// + + public D3D12_EXPORT_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_EXPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_EXPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..f763c7d824 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_EXPORT_FLAGS.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_EXPORT_FLAGS +{ + /// + + D3D12_EXPORT_FLAG_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE.gen.cs new file mode 100644 index 0000000000..fe9a506089 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE.gen.cs @@ -0,0 +1,148 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_FEATURE +{ + /// + + D3D12_FEATURE_D3D12_OPTIONS = 0, + + /// + + D3D12_FEATURE_ARCHITECTURE = 1, + + /// + + D3D12_FEATURE_FEATURE_LEVELS = 2, + + /// + + D3D12_FEATURE_FORMAT_SUPPORT = 3, + + /// + + D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4, + + /// + + D3D12_FEATURE_FORMAT_INFO = 5, + + /// + + D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6, + + /// + + D3D12_FEATURE_SHADER_MODEL = 7, + + /// + + D3D12_FEATURE_D3D12_OPTIONS1 = 8, + + /// + + D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10, + + /// + + D3D12_FEATURE_ROOT_SIGNATURE = 12, + + /// + + D3D12_FEATURE_ARCHITECTURE1 = 16, + + /// + + D3D12_FEATURE_D3D12_OPTIONS2 = 18, + + /// + + D3D12_FEATURE_SHADER_CACHE = 19, + + /// + + D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20, + + /// + + D3D12_FEATURE_D3D12_OPTIONS3 = 21, + + /// + + D3D12_FEATURE_EXISTING_HEAPS = 22, + + /// + + D3D12_FEATURE_D3D12_OPTIONS4 = 23, + + /// + + D3D12_FEATURE_SERIALIZATION = 24, + + /// + + D3D12_FEATURE_CROSS_NODE = 25, + + /// + + D3D12_FEATURE_D3D12_OPTIONS5 = 27, + + /// + + D3D12_FEATURE_DISPLAYABLE = 28, + + /// + + D3D12_FEATURE_D3D12_OPTIONS6 = 30, + + /// + + D3D12_FEATURE_QUERY_META_COMMAND = 31, + + /// + + D3D12_FEATURE_D3D12_OPTIONS7 = 32, + + /// + + D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33, + + /// + + D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34, + + /// + + D3D12_FEATURE_D3D12_OPTIONS8 = 36, + + /// + + D3D12_FEATURE_D3D12_OPTIONS9 = 37, + + /// + + D3D12_FEATURE_D3D12_OPTIONS10 = 39, + + /// + + D3D12_FEATURE_D3D12_OPTIONS11 = 40, + + /// + + D3D12_FEATURE_D3D12_OPTIONS12 = 41, + + /// + + D3D12_FEATURE_D3D12_OPTIONS13 = 42, + + /// + + D3D12_FEATURE_D3D12_OPTIONS14 = 43, + + /// + + D3D12_FEATURE_D3D12_OPTIONS15 = 44, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE.gen.cs new file mode 100644 index 0000000000..3fcd46c86b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_ARCHITECTURE +{ + /// + + public uint NodeIndex; + + /// + + public BOOL TileBasedRenderer; + + /// + + public BOOL UMA; + + /// + + public BOOL CacheCoherentUMA; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE1.gen.cs new file mode 100644 index 0000000000..498fccc73f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE1.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_ARCHITECTURE1 +{ + /// + + public uint NodeIndex; + + /// + + public BOOL TileBasedRenderer; + + /// + + public BOOL UMA; + + /// + + public BOOL CacheCoherentUMA; + + /// + + public BOOL IsolatedMMU; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY.gen.cs new file mode 100644 index 0000000000..0c8f3fe6e2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY +{ + /// + + public D3D12_COMMAND_LIST_TYPE CommandListType; + + /// + + public uint Priority; + + /// + + public BOOL PriorityForTypeIsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_CROSS_NODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_CROSS_NODE.gen.cs new file mode 100644 index 0000000000..55df9ec9cc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_CROSS_NODE.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_CROSS_NODE +{ + /// + + public D3D12_CROSS_NODE_SHARING_TIER SharingTier; + + /// + + public BOOL AtomicShaderInstructions; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS.gen.cs new file mode 100644 index 0000000000..65f2e7160a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS.gen.cs @@ -0,0 +1,70 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS +{ + /// + + public BOOL DoublePrecisionFloatShaderOps; + + /// + + public BOOL OutputMergerLogicOp; + + /// + + public D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport; + + /// + + public D3D12_TILED_RESOURCES_TIER TiledResourcesTier; + + /// + + public D3D12_RESOURCE_BINDING_TIER ResourceBindingTier; + + /// + + public BOOL PSSpecifiedStencilRefSupported; + + /// + + public BOOL TypedUAVLoadAdditionalFormats; + + /// + + public BOOL ROVsSupported; + + /// + + public D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier; + + /// + + public uint MaxGPUVirtualAddressBitsPerResource; + + /// + + public BOOL StandardSwizzle64KBSupported; + + /// + + public D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier; + + /// + + public BOOL CrossAdapterRowMajorTextureSupported; + + /// + + public BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation; + + /// + + public D3D12_RESOURCE_HEAP_TIER ResourceHeapTier; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS1.gen.cs new file mode 100644 index 0000000000..bf012d659c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS1.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 +{ + /// + + public BOOL WaveOps; + + /// + + public uint WaveLaneCountMin; + + /// + + public uint WaveLaneCountMax; + + /// + + public uint TotalLaneCount; + + /// + + public BOOL ExpandedComputeResourceStates; + + /// + + public BOOL Int64ShaderOps; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS10.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS10.gen.cs new file mode 100644 index 0000000000..1b2b13eb30 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS10.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 +{ + /// + + public BOOL VariableRateShadingSumCombinerSupported; + + /// + + public BOOL MeshShaderPerPrimitiveShadingRateSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS11.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS11.gen.cs new file mode 100644 index 0000000000..5253fb7010 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS11.gen.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 +{ + /// + + public BOOL AtomicInt64OnDescriptorHeapResourceSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS12.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS12.gen.cs new file mode 100644 index 0000000000..8709525db1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS12.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS12 +{ + /// + + public D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives; + + /// + + public BOOL EnhancedBarriersSupported; + + /// + + public BOOL RelaxedFormatCastingSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS13.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS13.gen.cs new file mode 100644 index 0000000000..7eee9eedcd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS13.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS13 +{ + /// + + public BOOL UnrestrictedBufferTextureCopyPitchSupported; + + /// + + public BOOL UnrestrictedVertexElementAlignmentSupported; + + /// + + public BOOL InvertedViewportHeightFlipsYSupported; + + /// + + public BOOL InvertedViewportDepthFlipsZSupported; + + /// + + public BOOL TextureCopyBetweenDimensionsSupported; + + /// + + public BOOL AlphaBlendFactorSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS14.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS14.gen.cs new file mode 100644 index 0000000000..34865329f3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS14.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS14 +{ + /// + + public BOOL AdvancedTextureOpsSupported; + + /// + + public BOOL WriteableMSAATexturesSupported; + + /// + + public BOOL IndependentFrontAndBackStencilRefMaskSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS15.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS15.gen.cs new file mode 100644 index 0000000000..76beb9b840 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS15.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS15 +{ + /// + + public BOOL TriangleFanSupported; + + /// + + public BOOL DynamicIndexBufferStripCutSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS2.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS2.gen.cs new file mode 100644 index 0000000000..a18daa8099 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS2.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 +{ + /// + + public BOOL DepthBoundsTestSupported; + + /// + + public D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS3.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS3.gen.cs new file mode 100644 index 0000000000..c626ea0dea --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS3.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 +{ + /// + + public BOOL CopyQueueTimestampQueriesSupported; + + /// + + public BOOL CastingFullyTypedFormatSupported; + + /// + + public D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags; + + /// + + public D3D12_VIEW_INSTANCING_TIER ViewInstancingTier; + + /// + + public BOOL BarycentricsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS4.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS4.gen.cs new file mode 100644 index 0000000000..8de839e4fb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS4.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS4 +{ + /// + + public BOOL MSAA64KBAlignedTextureSupported; + + /// + + public D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; + + /// + + public BOOL Native16BitShaderOpsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS5.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS5.gen.cs new file mode 100644 index 0000000000..3decc615c1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS5.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 +{ + /// + + public BOOL SRVOnlyTiledResourceTier3; + + /// + + public D3D12_RENDER_PASS_TIER RenderPassesTier; + + /// + + public D3D12_RAYTRACING_TIER RaytracingTier; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS6.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS6.gen.cs new file mode 100644 index 0000000000..bc95d8a9dc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS6.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS6 +{ + /// + + public BOOL AdditionalShadingRatesSupported; + + /// + + public BOOL PerPrimitiveShadingRateSupportedWithViewportIndexing; + + /// + + public D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier; + + /// + + public uint ShadingRateImageTileSize; + + /// + + public BOOL BackgroundProcessingSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS7.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS7.gen.cs new file mode 100644 index 0000000000..39fff30b2b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS7.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 +{ + /// + + public D3D12_MESH_SHADER_TIER MeshShaderTier; + + /// + + public D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS8.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS8.gen.cs new file mode 100644 index 0000000000..6c27018d74 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS8.gen.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 +{ + /// + + public BOOL UnalignedBlockTexturesSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS9.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS9.gen.cs new file mode 100644 index 0000000000..2499b4720b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS9.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 +{ + /// + + public BOOL MeshShaderPipelineStatsSupported; + + /// + + public BOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex; + + /// + + public BOOL AtomicInt64OnTypedResourceSupported; + + /// + + public BOOL AtomicInt64OnGroupSharedSupported; + + /// + + public BOOL DerivativesInMeshAndAmplificationShadersSupported; + + /// + + public D3D12_WAVE_MMA_TIER WaveMMATier; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_DISPLAYABLE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_DISPLAYABLE.gen.cs new file mode 100644 index 0000000000..1fc86d5638 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_DISPLAYABLE.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_DISPLAYABLE +{ + /// + + public BOOL DisplayableTexture; + + /// + + public D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_EXISTING_HEAPS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_EXISTING_HEAPS.gen.cs new file mode 100644 index 0000000000..d454102425 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_EXISTING_HEAPS.gen.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_EXISTING_HEAPS +{ + /// + + public BOOL Supported; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FEATURE_LEVELS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FEATURE_LEVELS.gen.cs new file mode 100644 index 0000000000..31c269b783 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FEATURE_LEVELS.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_FEATURE_LEVELS +{ + /// + + public uint NumFeatureLevels; + + /// + + [NativeTypeName("const D3D_FEATURE_LEVEL *")] + public D3D_FEATURE_LEVEL* pFeatureLevelsRequested; + + /// + + public D3D_FEATURE_LEVEL MaxSupportedFeatureLevel; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_INFO.gen.cs new file mode 100644 index 0000000000..a172c89805 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_INFO.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_FORMAT_INFO +{ + /// + + public DXGI_FORMAT Format; + + /// + + [NativeTypeName("UINT8")] + public byte PlaneCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_SUPPORT.gen.cs new file mode 100644 index 0000000000..fa2f6d8455 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_SUPPORT.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_FORMAT_SUPPORT +{ + /// + + public DXGI_FORMAT Format; + + /// + + public D3D12_FORMAT_SUPPORT1 Support1; + + /// + + public D3D12_FORMAT_SUPPORT2 Support2; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.gen.cs new file mode 100644 index 0000000000..e7789c342d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT +{ + /// + + public uint MaxGPUVirtualAddressBitsPerResource; + + /// + + public uint MaxGPUVirtualAddressBitsPerProcess; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS.gen.cs new file mode 100644 index 0000000000..7efd012770 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS +{ + /// + + public DXGI_FORMAT Format; + + /// + + public uint SampleCount; + + /// + + public D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags; + + /// + + public uint NumQualityLevels; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT.gen.cs new file mode 100644 index 0000000000..4b4a5c7ffe --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES.gen.cs new file mode 100644 index 0000000000..1941a961ed --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES +{ + /// + + public uint NodeIndex; + + /// + + public uint Count; + + /// + + public Guid* pTypes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT.gen.cs new file mode 100644 index 0000000000..9153b713e0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT +{ + /// + + public uint NodeIndex; + + /// + + public uint Count; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_QUERY_META_COMMAND.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_QUERY_META_COMMAND.gen.cs new file mode 100644 index 0000000000..2b80f2c13d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_QUERY_META_COMMAND.gen.cs @@ -0,0 +1,37 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_QUERY_META_COMMAND +{ + /// + + public Guid CommandId; + + /// + + public uint NodeMask; + + /// + + [NativeTypeName("const void *")] + public void* pQueryInputData; + + /// + + [NativeTypeName("SIZE_T")] + public nuint QueryInputDataSizeInBytes; + + /// + + public void* pQueryOutputData; + + /// + + [NativeTypeName("SIZE_T")] + public nuint QueryOutputDataSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ROOT_SIGNATURE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ROOT_SIGNATURE.gen.cs new file mode 100644 index 0000000000..16b22f7c07 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ROOT_SIGNATURE.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_ROOT_SIGNATURE +{ + /// + + public D3D_ROOT_SIGNATURE_VERSION HighestVersion; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SERIALIZATION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SERIALIZATION.gen.cs new file mode 100644 index 0000000000..2e15ddaabe --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SERIALIZATION.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_SERIALIZATION +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_CACHE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_CACHE.gen.cs new file mode 100644 index 0000000000..5edb256e39 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_CACHE.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_SHADER_CACHE +{ + /// + + public D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_MODEL.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_MODEL.gen.cs new file mode 100644 index 0000000000..0c1133fa14 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_MODEL.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_SHADER_MODEL +{ + /// + + public D3D_SHADER_MODEL HighestShaderModel; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FENCE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FENCE_FLAGS.gen.cs new file mode 100644 index 0000000000..7a624d8f9b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FENCE_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_FENCE_FLAGS +{ + /// + + D3D12_FENCE_FLAG_NONE = 0, + + /// + + D3D12_FENCE_FLAG_SHARED = 0x1, + + /// + + D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, + + /// + + D3D12_FENCE_FLAG_NON_MONITORED = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FILL_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FILL_MODE.gen.cs new file mode 100644 index 0000000000..befc1f94a5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FILL_MODE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_FILL_MODE +{ + /// + + D3D12_FILL_MODE_WIREFRAME = 2, + + /// + + D3D12_FILL_MODE_SOLID = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER.gen.cs new file mode 100644 index 0000000000..6992027fff --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER.gen.cs @@ -0,0 +1,152 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_FILTER +{ + /// + + D3D12_FILTER_MIN_MAG_MIP_POINT = 0, + + /// + + D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1, + + /// + + D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, + + /// + + D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5, + + /// + + D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, + + /// + + D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, + + /// + + D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, + + /// + + D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15, + + /// + + D3D12_FILTER_ANISOTROPIC = 0x55, + + /// + + D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, + + /// + + D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, + + /// + + D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, + + /// + + D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, + + /// + + D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, + + /// + + D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, + + /// + + D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, + + /// + + D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, + + /// + + D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5, + + /// + + D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, + + /// + + D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, + + /// + + D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, + + /// + + D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, + + /// + + D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, + + /// + + D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, + + /// + + D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, + + /// + + D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, + + /// + + D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155, + + /// + + D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, + + /// + + D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, + + /// + + D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, + + /// + + D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, + + /// + + D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, + + /// + + D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, + + /// + + D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, + + /// + + D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, + + /// + + D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER_REDUCTION_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER_REDUCTION_TYPE.gen.cs new file mode 100644 index 0000000000..7b42834e51 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER_REDUCTION_TYPE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_FILTER_REDUCTION_TYPE +{ + /// + + D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0, + + /// + + D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1, + + /// + + D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2, + + /// + + D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER_TYPE.gen.cs new file mode 100644 index 0000000000..060b83cb8d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FILTER_TYPE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_FILTER_TYPE +{ + /// + + D3D12_FILTER_TYPE_POINT = 0, + + /// + + D3D12_FILTER_TYPE_LINEAR = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FORMAT_SUPPORT1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FORMAT_SUPPORT1.gen.cs new file mode 100644 index 0000000000..75642323a2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FORMAT_SUPPORT1.gen.cs @@ -0,0 +1,131 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_FORMAT_SUPPORT1 +{ + /// + + D3D12_FORMAT_SUPPORT1_NONE = 0, + + /// + + D3D12_FORMAT_SUPPORT1_BUFFER = 0x1, + + /// + + D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2, + + /// + + D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4, + + /// + + D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8, + + /// + + D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10, + + /// + + D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20, + + /// + + D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40, + + /// + + D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80, + + /// + + D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100, + + /// + + D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200, + + /// + + D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400, + + /// + + D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800, + + /// + + D3D12_FORMAT_SUPPORT1_MIP = 0x1000, + + /// + + D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000, + + /// + + D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000, + + /// + + D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000, + + /// + + D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000, + + /// + + D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000, + + /// + + D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000, + + /// + + D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000, + + /// + + D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000, + + /// + + D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000, + + /// + + D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000, + + /// + + D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000, + + /// + + D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000, + + /// + + D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000, + + /// + + D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000, + + /// + + D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000, + + /// + + D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_FORMAT_SUPPORT2.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_FORMAT_SUPPORT2.gen.cs new file mode 100644 index 0000000000..0b21d6c202 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_FORMAT_SUPPORT2.gen.cs @@ -0,0 +1,63 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_FORMAT_SUPPORT2 +{ + /// + + D3D12_FORMAT_SUPPORT2_NONE = 0, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40, + + /// + + D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, + + /// + + D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, + + /// + + D3D12_FORMAT_SUPPORT2_TILED = 0x200, + + /// + + D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, + + /// + + D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x8000, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_BARRIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_BARRIER.gen.cs new file mode 100644 index 0000000000..ca9432d1fd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_BARRIER.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_GLOBAL_BARRIER +{ + /// + + public D3D12_BARRIER_SYNC SyncBefore; + + /// + + public D3D12_BARRIER_SYNC SyncAfter; + + /// + + public D3D12_BARRIER_ACCESS AccessBefore; + + /// + + public D3D12_BARRIER_ACCESS AccessAfter; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_ROOT_SIGNATURE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_ROOT_SIGNATURE.gen.cs new file mode 100644 index 0000000000..a87f1034aa --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_ROOT_SIGNATURE.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_GLOBAL_ROOT_SIGNATURE +{ + /// + + public ID3D12RootSignature* pGlobalRootSignature; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_DESCRIPTOR_HANDLE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_DESCRIPTOR_HANDLE.gen.cs new file mode 100644 index 0000000000..fc4453d032 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_DESCRIPTOR_HANDLE.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_GPU_DESCRIPTOR_HANDLE +{ + /// + + [NativeTypeName("UINT64")] + public ulong ptr; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE.gen.cs new file mode 100644 index 0000000000..d58c145644 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong StartAddress; + + /// + + [NativeTypeName("UINT64")] + public ulong StrideInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE.gen.cs new file mode 100644 index 0000000000..2d0c8a2e49 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong StartAddress; + + /// + + [NativeTypeName("UINT64")] + public ulong SizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE.gen.cs new file mode 100644 index 0000000000..5e7ac740bd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong StartAddress; + + /// + + [NativeTypeName("UINT64")] + public ulong SizeInBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong StrideInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_PIPELINE_STATE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_PIPELINE_STATE_DESC.gen.cs new file mode 100644 index 0000000000..f5c39851a3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_PIPELINE_STATE_DESC.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_GRAPHICS_PIPELINE_STATE_DESC +{ + /// + + public ID3D12RootSignature* pRootSignature; + + /// + + public D3D12_SHADER_BYTECODE VS; + + /// + + public D3D12_SHADER_BYTECODE PS; + + /// + + public D3D12_SHADER_BYTECODE DS; + + /// + + public D3D12_SHADER_BYTECODE HS; + + /// + + public D3D12_SHADER_BYTECODE GS; + + /// + + public D3D12_STREAM_OUTPUT_DESC StreamOutput; + + /// + + public D3D12_BLEND_DESC BlendState; + + /// + + public uint SampleMask; + + /// + + public D3D12_RASTERIZER_DESC RasterizerState; + + /// + + public D3D12_DEPTH_STENCIL_DESC DepthStencilState; + + /// + + public D3D12_INPUT_LAYOUT_DESC InputLayout; + + /// + + public D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue; + + /// + + public D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType; + + /// + + public uint NumRenderTargets; + + /// + + [NativeTypeName("DXGI_FORMAT[8]")] + public _RTVFormats_e__FixedBuffer RTVFormats; + + /// + + public DXGI_FORMAT DSVFormat; + + /// + + public DXGI_SAMPLE_DESC SampleDesc; + + /// + + public uint NodeMask; + + /// + + public D3D12_CACHED_PIPELINE_STATE CachedPSO; + + /// + + public D3D12_PIPELINE_STATE_FLAGS Flags; + + /// + + [InlineArray(8)] + public partial struct _RTVFormats_e__FixedBuffer + { + public DXGI_FORMAT e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_STATES.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_STATES.gen.cs new file mode 100644 index 0000000000..8d9f8913f2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_STATES.gen.cs @@ -0,0 +1,83 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_GRAPHICS_STATES +{ + /// + + D3D12_GRAPHICS_STATE_NONE = 0, + + /// + + D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = (1 << 0), + + /// + + D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = (1 << 1), + + /// + + D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = (1 << 2), + + /// + + D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = (1 << 3), + + /// + + D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = (1 << 4), + + /// + + D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = (1 << 5), + + /// + + D3D12_GRAPHICS_STATE_RS_VIEWPORTS = (1 << 6), + + /// + + D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = (1 << 7), + + /// + + D3D12_GRAPHICS_STATE_PREDICATION = (1 << 8), + + /// + + D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = (1 << 9), + + /// + + D3D12_GRAPHICS_STATE_OM_STENCIL_REF = (1 << 10), + + /// + + D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = (1 << 11), + + /// + + D3D12_GRAPHICS_STATE_PIPELINE_STATE = (1 << 12), + + /// + + D3D12_GRAPHICS_STATE_SO_TARGETS = (1 << 13), + + /// + + D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = (1 << 14), + + /// + + D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = (1 << 15), + + /// + + D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = (1 << 16), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_DESC.gen.cs new file mode 100644 index 0000000000..024b5ad3c8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_DESC.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_HEAP_DESC +{ + /// + + [NativeTypeName("UINT64")] + public ulong SizeInBytes; + + /// + + public D3D12_HEAP_PROPERTIES Properties; + + /// + + [NativeTypeName("UINT64")] + public ulong Alignment; + + /// + + public D3D12_HEAP_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_FLAGS.gen.cs new file mode 100644 index 0000000000..6905831437 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_FLAGS.gen.cs @@ -0,0 +1,75 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_HEAP_FLAGS +{ + /// + + D3D12_HEAP_FLAG_NONE = 0, + + /// + + D3D12_HEAP_FLAG_SHARED = 0x1, + + /// + + D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4, + + /// + + D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8, + + /// + + D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, + + /// + + D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, + + /// + + D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, + + /// + + D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100, + + /// + + D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200, + + /// + + D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400, + + /// + + D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800, + + /// + + D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000, + + /// + + D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0, + + /// + + D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0, + + /// + + D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, + + /// + + D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_PROPERTIES.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_PROPERTIES.gen.cs new file mode 100644 index 0000000000..5bc5e0a54a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_PROPERTIES.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_HEAP_PROPERTIES +{ + /// + + public D3D12_HEAP_TYPE Type; + + /// + + public D3D12_CPU_PAGE_PROPERTY CPUPageProperty; + + /// + + public D3D12_MEMORY_POOL MemoryPoolPreference; + + /// + + public uint CreationNodeMask; + + /// + + public uint VisibleNodeMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_SERIALIZATION_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_SERIALIZATION_TIER.gen.cs new file mode 100644 index 0000000000..6c52781e78 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_SERIALIZATION_TIER.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_HEAP_SERIALIZATION_TIER +{ + /// + + D3D12_HEAP_SERIALIZATION_TIER_0 = 0, + + /// + + D3D12_HEAP_SERIALIZATION_TIER_10 = 10, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_TYPE.gen.cs new file mode 100644 index 0000000000..628e5c20ff --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HEAP_TYPE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_HEAP_TYPE +{ + /// + + D3D12_HEAP_TYPE_DEFAULT = 1, + + /// + + D3D12_HEAP_TYPE_UPLOAD = 2, + + /// + + D3D12_HEAP_TYPE_READBACK = 3, + + /// + + D3D12_HEAP_TYPE_CUSTOM = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_DESC.gen.cs new file mode 100644 index 0000000000..23621b4a72 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_DESC.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_HIT_GROUP_DESC +{ + /// + + [NativeTypeName("LPCWSTR")] + public ushort* HitGroupExport; + + /// + + public D3D12_HIT_GROUP_TYPE Type; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* AnyHitShaderImport; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* ClosestHitShaderImport; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* IntersectionShaderImport; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_TYPE.gen.cs new file mode 100644 index 0000000000..267914d20f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_TYPE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_HIT_GROUP_TYPE +{ + /// + + D3D12_HIT_GROUP_TYPE_TRIANGLES = 0, + + /// + + D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_KIND.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_KIND.gen.cs new file mode 100644 index 0000000000..3bef46b006 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_HIT_KIND.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_HIT_KIND +{ + /// + + D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe, + + /// + + D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_STRIP_CUT_VALUE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_STRIP_CUT_VALUE.gen.cs new file mode 100644 index 0000000000..a612caee5a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_STRIP_CUT_VALUE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE +{ + /// + + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0, + + /// + + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1, + + /// + + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_VIEW.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_VIEW.gen.cs new file mode 100644 index 0000000000..769836555f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_VIEW.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_INDEX_BUFFER_VIEW +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong BufferLocation; + + /// + + public uint SizeInBytes; + + /// + + public DXGI_FORMAT Format; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_DESC.gen.cs new file mode 100644 index 0000000000..eb93d76045 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_DESC.gen.cs @@ -0,0 +1,155 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_INDIRECT_ARGUMENT_DESC +{ + /// + + public D3D12_INDIRECT_ARGUMENT_TYPE Type; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L4274_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref _Anonymous_e__Union._VertexBuffer_e__Struct VertexBuffer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.VertexBuffer; } + } + + /// + + [UnscopedRef] + public ref _Anonymous_e__Union._Constant_e__Struct Constant + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Constant; } + } + + /// + + [UnscopedRef] + public ref _Anonymous_e__Union._ConstantBufferView_e__Struct ConstantBufferView + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.ConstantBufferView; } + } + + /// + + [UnscopedRef] + public ref _Anonymous_e__Union._ShaderResourceView_e__Struct ShaderResourceView + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.ShaderResourceView; } + } + + /// + + [UnscopedRef] + public ref _Anonymous_e__Union._UnorderedAccessView_e__Struct UnorderedAccessView + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.UnorderedAccessView; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("__AnonymousRecord_d3d12_L4276_C9")] + public _VertexBuffer_e__Struct VertexBuffer; + + /// + + [FieldOffset(0)] + [NativeTypeName("__AnonymousRecord_d3d12_L4280_C9")] + public _Constant_e__Struct Constant; + + /// + + [FieldOffset(0)] + [NativeTypeName("__AnonymousRecord_d3d12_L4286_C9")] + public _ConstantBufferView_e__Struct ConstantBufferView; + + /// + + [FieldOffset(0)] + [NativeTypeName("__AnonymousRecord_d3d12_L4290_C9")] + public _ShaderResourceView_e__Struct ShaderResourceView; + + /// + + [FieldOffset(0)] + [NativeTypeName("__AnonymousRecord_d3d12_L4294_C9")] + public _UnorderedAccessView_e__Struct UnorderedAccessView; + + /// + + public partial struct _VertexBuffer_e__Struct + { + /// + + public uint Slot; + } + + /// + + public partial struct _Constant_e__Struct + { + /// + + public uint RootParameterIndex; + + /// + + public uint DestOffsetIn32BitValues; + + /// + + public uint Num32BitValuesToSet; + } + + /// + + public partial struct _ConstantBufferView_e__Struct + { + /// + + public uint RootParameterIndex; + } + + /// + + public partial struct _ShaderResourceView_e__Struct + { + /// + + public uint RootParameterIndex; + } + + /// + + public partial struct _UnorderedAccessView_e__Struct + { + /// + + public uint RootParameterIndex; + } + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_TYPE.gen.cs new file mode 100644 index 0000000000..434dbbe023 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_TYPE.gen.cs @@ -0,0 +1,56 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_INDIRECT_ARGUMENT_TYPE +{ + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0, + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = (D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = (D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = + (D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = (D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = + (D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = + (D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = + (D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW + 1), + + /// + + D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = (D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_CLASSIFICATION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_CLASSIFICATION.gen.cs new file mode 100644 index 0000000000..5caf4ba58f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_CLASSIFICATION.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_INPUT_CLASSIFICATION +{ + /// + + D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0, + + /// + + D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_ELEMENT_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_ELEMENT_DESC.gen.cs new file mode 100644 index 0000000000..73a76e28f3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_ELEMENT_DESC.gen.cs @@ -0,0 +1,37 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_INPUT_ELEMENT_DESC +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* SemanticName; + + /// + + public uint SemanticIndex; + + /// + + public DXGI_FORMAT Format; + + /// + + public uint InputSlot; + + /// + + public uint AlignedByteOffset; + + /// + + public D3D12_INPUT_CLASSIFICATION InputSlotClass; + + /// + + public uint InstanceDataStepRate; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_LAYOUT_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_LAYOUT_DESC.gen.cs new file mode 100644 index 0000000000..ad76e471d1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_INPUT_LAYOUT_DESC.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_INPUT_LAYOUT_DESC +{ + /// + + [NativeTypeName("const D3D12_INPUT_ELEMENT_DESC *")] + public D3D12_INPUT_ELEMENT_DESC* pInputElementDescs; + + /// + + public uint NumElements; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_LIFETIME_STATE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_LIFETIME_STATE.gen.cs new file mode 100644 index 0000000000..a7f08ca008 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_LIFETIME_STATE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_LIFETIME_STATE +{ + /// + + D3D12_LIFETIME_STATE_IN_USE = 0, + + /// + + D3D12_LIFETIME_STATE_NOT_IN_USE = (D3D12_LIFETIME_STATE_IN_USE + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_LOCAL_ROOT_SIGNATURE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_LOCAL_ROOT_SIGNATURE.gen.cs new file mode 100644 index 0000000000..80e7a04445 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_LOCAL_ROOT_SIGNATURE.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_LOCAL_ROOT_SIGNATURE +{ + /// + + public ID3D12RootSignature* pLocalRootSignature; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_LOGIC_OP.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_LOGIC_OP.gen.cs new file mode 100644 index 0000000000..002eaa5dac --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_LOGIC_OP.gen.cs @@ -0,0 +1,72 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_LOGIC_OP +{ + /// + + D3D12_LOGIC_OP_CLEAR = 0, + + /// + + D3D12_LOGIC_OP_SET = (D3D12_LOGIC_OP_CLEAR + 1), + + /// + + D3D12_LOGIC_OP_COPY = (D3D12_LOGIC_OP_SET + 1), + + /// + + D3D12_LOGIC_OP_COPY_INVERTED = (D3D12_LOGIC_OP_COPY + 1), + + /// + + D3D12_LOGIC_OP_NOOP = (D3D12_LOGIC_OP_COPY_INVERTED + 1), + + /// + + D3D12_LOGIC_OP_INVERT = (D3D12_LOGIC_OP_NOOP + 1), + + /// + + D3D12_LOGIC_OP_AND = (D3D12_LOGIC_OP_INVERT + 1), + + /// + + D3D12_LOGIC_OP_NAND = (D3D12_LOGIC_OP_AND + 1), + + /// + + D3D12_LOGIC_OP_OR = (D3D12_LOGIC_OP_NAND + 1), + + /// + + D3D12_LOGIC_OP_NOR = (D3D12_LOGIC_OP_OR + 1), + + /// + + D3D12_LOGIC_OP_XOR = (D3D12_LOGIC_OP_NOR + 1), + + /// + + D3D12_LOGIC_OP_EQUIV = (D3D12_LOGIC_OP_XOR + 1), + + /// + + D3D12_LOGIC_OP_AND_REVERSE = (D3D12_LOGIC_OP_EQUIV + 1), + + /// + + D3D12_LOGIC_OP_AND_INVERTED = (D3D12_LOGIC_OP_AND_REVERSE + 1), + + /// + + D3D12_LOGIC_OP_OR_REVERSE = (D3D12_LOGIC_OP_AND_INVERTED + 1), + + /// + + D3D12_LOGIC_OP_OR_INVERTED = (D3D12_LOGIC_OP_OR_REVERSE + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_MEASUREMENTS_ACTION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_MEASUREMENTS_ACTION.gen.cs new file mode 100644 index 0000000000..3cced660c2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_MEASUREMENTS_ACTION.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_MEASUREMENTS_ACTION +{ + /// + + D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0, + + /// + + D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = (D3D12_MEASUREMENTS_ACTION_KEEP_ALL + 1), + + /// + + D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = + (D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS + 1), + + /// + + D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = + (D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_MEMCPY_DEST.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_MEMCPY_DEST.gen.cs new file mode 100644 index 0000000000..4cd92c302b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_MEMCPY_DEST.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_MEMCPY_DEST +{ + /// + + public void* pData; + + /// + + [NativeTypeName("SIZE_T")] + public nuint RowPitch; + + /// + + [NativeTypeName("SIZE_T")] + public nuint SlicePitch; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_MEMORY_POOL.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_MEMORY_POOL.gen.cs new file mode 100644 index 0000000000..4f2a480b71 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_MEMORY_POOL.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_MEMORY_POOL +{ + /// + + D3D12_MEMORY_POOL_UNKNOWN = 0, + + /// + + D3D12_MEMORY_POOL_L0 = 1, + + /// + + D3D12_MEMORY_POOL_L1 = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_MESH_SHADER_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_MESH_SHADER_TIER.gen.cs new file mode 100644 index 0000000000..635be0cb58 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_MESH_SHADER_TIER.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_MESH_SHADER_TIER +{ + /// + + D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_MESH_SHADER_TIER_1 = 10, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_DESC.gen.cs new file mode 100644 index 0000000000..c15f244c78 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_DESC.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_META_COMMAND_DESC +{ + /// + + public Guid Id; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* Name; + + /// + + public D3D12_GRAPHICS_STATES InitializationDirtyState; + + /// + + public D3D12_GRAPHICS_STATES ExecutionDirtyState; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_DESC.gen.cs new file mode 100644 index 0000000000..0e83e6809c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_DESC.gen.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_META_COMMAND_PARAMETER_DESC +{ + /// + + [NativeTypeName("LPCWSTR")] + public ushort* Name; + + /// + + public D3D12_META_COMMAND_PARAMETER_TYPE Type; + + /// + + public D3D12_META_COMMAND_PARAMETER_FLAGS Flags; + + /// + + public D3D12_RESOURCE_STATES RequiredResourceState; + + /// + + public uint StructureOffset; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_FLAGS.gen.cs new file mode 100644 index 0000000000..fbcc768d52 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_META_COMMAND_PARAMETER_FLAGS +{ + /// + + D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x1, + + /// + + D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_STAGE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_STAGE.gen.cs new file mode 100644 index 0000000000..607f24cba9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_STAGE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_META_COMMAND_PARAMETER_STAGE +{ + /// + + D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0, + + /// + + D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1, + + /// + + D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_TYPE.gen.cs new file mode 100644 index 0000000000..477121cb48 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_TYPE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_META_COMMAND_PARAMETER_TYPE +{ + /// + + D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0, + + /// + + D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1, + + /// + + D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2, + + /// + + D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3, + + /// + + D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_MIP_REGION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_MIP_REGION.gen.cs new file mode 100644 index 0000000000..38ab16461a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_MIP_REGION.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_MIP_REGION +{ + /// + + public uint Width; + + /// + + public uint Height; + + /// + + public uint Depth; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_MULTIPLE_FENCE_WAIT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_MULTIPLE_FENCE_WAIT_FLAGS.gen.cs new file mode 100644 index 0000000000..4cfff7667e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_MULTIPLE_FENCE_WAIT_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS +{ + /// + + D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0, + + /// + + D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1, + + /// + + D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.gen.cs new file mode 100644 index 0000000000..c264d895cb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS +{ + /// + + D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0, + + /// + + D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_NODE_MASK.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_NODE_MASK.gen.cs new file mode 100644 index 0000000000..e403817ac5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_NODE_MASK.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_NODE_MASK +{ + /// + + public uint NodeMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PACKED_MIP_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PACKED_MIP_INFO.gen.cs new file mode 100644 index 0000000000..867312dcc9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PACKED_MIP_INFO.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_PACKED_MIP_INFO +{ + /// + + [NativeTypeName("UINT8")] + public byte NumStandardMips; + + /// + + [NativeTypeName("UINT8")] + public byte NumPackedMips; + + /// + + public uint NumTilesForPackedMips; + + /// + + public uint StartTileIndexInOverallResource; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_FLAGS.gen.cs new file mode 100644 index 0000000000..a825e908ba --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_PIPELINE_STATE_FLAGS +{ + /// + + D3D12_PIPELINE_STATE_FLAG_NONE = 0, + + /// + + D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_STREAM_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_STREAM_DESC.gen.cs new file mode 100644 index 0000000000..ce483157dc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_STREAM_DESC.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_PIPELINE_STATE_STREAM_DESC +{ + /// + + [NativeTypeName("SIZE_T")] + public nuint SizeInBytes; + + /// + + public void* pPipelineStateSubobjectStream; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.gen.cs new file mode 100644 index 0000000000..90f774d430 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.gen.cs @@ -0,0 +1,134 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE +{ + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0, + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 + 1), + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24, + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25, + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 = 26, + + /// + + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = + (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2 + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PLACED_SUBRESOURCE_FOOTPRINT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PLACED_SUBRESOURCE_FOOTPRINT.gen.cs new file mode 100644 index 0000000000..47273f2c53 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PLACED_SUBRESOURCE_FOOTPRINT.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT +{ + /// + + [NativeTypeName("UINT64")] + public ulong Offset; + + /// + + public D3D12_SUBRESOURCE_FOOTPRINT Footprint; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PREDICATION_OP.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PREDICATION_OP.gen.cs new file mode 100644 index 0000000000..f6245ac6a8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PREDICATION_OP.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_PREDICATION_OP +{ + /// + + D3D12_PREDICATION_OP_EQUAL_ZERO = 0, + + /// + + D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PRIMITIVE_TOPOLOGY_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PRIMITIVE_TOPOLOGY_TYPE.gen.cs new file mode 100644 index 0000000000..8a58e33848 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PRIMITIVE_TOPOLOGY_TYPE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_PRIMITIVE_TOPOLOGY_TYPE +{ + /// + + D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0, + + /// + + D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1, + + /// + + D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2, + + /// + + D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3, + + /// + + D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER.gen.cs new file mode 100644 index 0000000000..3578bdfa9b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER +{ + /// + + D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1, + + /// + + D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC.gen.cs new file mode 100644 index 0000000000..bb61473cc6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_PROTECTED_RESOURCE_SESSION_DESC +{ + /// + + public uint NodeMask; + + /// + + public D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC1.gen.cs new file mode 100644 index 0000000000..3e84fa8147 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC1.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1 +{ + /// + + public uint NodeMask; + + /// + + public D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags; + + /// + + public Guid ProtectionType; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_FLAGS.gen.cs new file mode 100644 index 0000000000..bc9ef78d0d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_FLAGS.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS +{ + /// + + D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..53d3b9908b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS +{ + /// + + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_SESSION_STATUS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_SESSION_STATUS.gen.cs new file mode 100644 index 0000000000..38e406132c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_SESSION_STATUS.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_PROTECTED_SESSION_STATUS +{ + /// + + D3D12_PROTECTED_SESSION_STATUS_OK = 0, + + /// + + D3D12_PROTECTED_SESSION_STATUS_INVALID = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS.gen.cs new file mode 100644 index 0000000000..1e479f1d7f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS.gen.cs @@ -0,0 +1,63 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_QUERY_DATA_PIPELINE_STATISTICS +{ + /// + + [NativeTypeName("UINT64")] + public ulong IAVertices; + + /// + + [NativeTypeName("UINT64")] + public ulong IAPrimitives; + + /// + + [NativeTypeName("UINT64")] + public ulong VSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong GSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong GSPrimitives; + + /// + + [NativeTypeName("UINT64")] + public ulong CInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong CPrimitives; + + /// + + [NativeTypeName("UINT64")] + public ulong PSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong HSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong DSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong CSInvocations; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS1.gen.cs new file mode 100644 index 0000000000..feb301bb09 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS1.gen.cs @@ -0,0 +1,78 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1 +{ + /// + + [NativeTypeName("UINT64")] + public ulong IAVertices; + + /// + + [NativeTypeName("UINT64")] + public ulong IAPrimitives; + + /// + + [NativeTypeName("UINT64")] + public ulong VSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong GSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong GSPrimitives; + + /// + + [NativeTypeName("UINT64")] + public ulong CInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong CPrimitives; + + /// + + [NativeTypeName("UINT64")] + public ulong PSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong HSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong DSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong CSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong ASInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong MSInvocations; + + /// + + [NativeTypeName("UINT64")] + public ulong MSPrimitives; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_SO_STATISTICS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_SO_STATISTICS.gen.cs new file mode 100644 index 0000000000..dde3237917 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_SO_STATISTICS.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_QUERY_DATA_SO_STATISTICS +{ + /// + + [NativeTypeName("UINT64")] + public ulong NumPrimitivesWritten; + + /// + + [NativeTypeName("UINT64")] + public ulong PrimitivesStorageNeeded; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_DESC.gen.cs new file mode 100644 index 0000000000..7b32774c48 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_DESC.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_QUERY_HEAP_DESC +{ + /// + + public D3D12_QUERY_HEAP_TYPE Type; + + /// + + public uint Count; + + /// + + public uint NodeMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_TYPE.gen.cs new file mode 100644 index 0000000000..1d58f051a0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_TYPE.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_QUERY_HEAP_TYPE +{ + /// + + D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0, + + /// + + D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1, + + /// + + D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2, + + /// + + D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3, + + /// + + D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4, + + /// + + D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5, + + /// + + D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_TYPE.gen.cs new file mode 100644 index 0000000000..2e5c784501 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_QUERY_TYPE.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_QUERY_TYPE +{ + /// + + D3D12_QUERY_TYPE_OCCLUSION = 0, + + /// + + D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1, + + /// + + D3D12_QUERY_TYPE_TIMESTAMP = 2, + + /// + + D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3, + + /// + + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4, + + /// + + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5, + + /// + + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6, + + /// + + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7, + + /// + + D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8, + + /// + + D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RANGE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RANGE.gen.cs new file mode 100644 index 0000000000..2176f2b4df --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RANGE.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RANGE +{ + /// + + [NativeTypeName("SIZE_T")] + public nuint Begin; + + /// + + [NativeTypeName("SIZE_T")] + public nuint End; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RANGE_UINT64.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RANGE_UINT64.gen.cs new file mode 100644 index 0000000000..19c5ee9dc6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RANGE_UINT64.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RANGE_UINT64 +{ + /// + + [NativeTypeName("UINT64")] + public ulong Begin; + + /// + + [NativeTypeName("UINT64")] + public ulong End; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RASTERIZER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RASTERIZER_DESC.gen.cs new file mode 100644 index 0000000000..de94aded56 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RASTERIZER_DESC.gen.cs @@ -0,0 +1,54 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RASTERIZER_DESC +{ + /// + + public D3D12_FILL_MODE FillMode; + + /// + + public D3D12_CULL_MODE CullMode; + + /// + + public BOOL FrontCounterClockwise; + + /// + + public int DepthBias; + + /// + + public float DepthBiasClamp; + + /// + + public float SlopeScaledDepthBias; + + /// + + public BOOL DepthClipEnable; + + /// + + public BOOL MultisampleEnable; + + /// + + public BOOL AntialiasedLineEnable; + + /// + + public uint ForcedSampleCount; + + /// + + public D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_AABB.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_AABB.gen.cs new file mode 100644 index 0000000000..755af1de44 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_AABB.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_AABB +{ + /// + + public float MinX; + + /// + + public float MinY; + + /// + + public float MinZ; + + /// + + public float MaxX; + + /// + + public float MaxY; + + /// + + public float MaxZ; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.gen.cs new file mode 100644 index 0000000000..accc77d228 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.gen.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS +{ + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x1, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x2, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x4, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x8, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.gen.cs new file mode 100644 index 0000000000..5d6a6b88e5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE +{ + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC.gen.cs new file mode 100644 index 0000000000..f1c2a55c48 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC +{ + /// + + [NativeTypeName("UINT64")] + public ulong CompactedSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC.gen.cs new file mode 100644 index 0000000000..8e2c6de955 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC +{ + /// + + [NativeTypeName("UINT64")] + public ulong CurrentSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC.gen.cs new file mode 100644 index 0000000000..bcc7672b61 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong DestBuffer; + + /// + + public D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC.gen.cs new file mode 100644 index 0000000000..423afbb63b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC +{ + /// + + [NativeTypeName("UINT64")] + public ulong SerializedSizeInBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong NumBottomLevelAccelerationStructurePointers; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC.gen.cs new file mode 100644 index 0000000000..50cb35e84d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC +{ + /// + + [NativeTypeName("UINT64")] + public ulong DecodedSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.gen.cs new file mode 100644 index 0000000000..e65d36ac95 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE +{ + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO.gen.cs new file mode 100644 index 0000000000..b66739cb5a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO +{ + /// + + [NativeTypeName("UINT64")] + public ulong ResultDataMaxSizeInBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong ScratchDataSizeInBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong UpdateScratchDataSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV.gen.cs new file mode 100644 index 0000000000..77b815c92f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong Location; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE.gen.cs new file mode 100644 index 0000000000..749d4204e5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE +{ + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0, + + /// + + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_AABBS_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_AABBS_DESC.gen.cs new file mode 100644 index 0000000000..3dceb32439 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_AABBS_DESC.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC +{ + /// + + [NativeTypeName("UINT64")] + public ulong AABBCount; + + /// + + public D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_DESC.gen.cs new file mode 100644 index 0000000000..5291c50535 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_DESC.gen.cs @@ -0,0 +1,59 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_GEOMETRY_DESC +{ + /// + + public D3D12_RAYTRACING_GEOMETRY_TYPE Type; + + /// + + public D3D12_RAYTRACING_GEOMETRY_FLAGS Flags; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L13820_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Triangles; } + } + + /// + + [UnscopedRef] + public ref D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.AABBs; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles; + + /// + + [FieldOffset(0)] + public D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_FLAGS.gen.cs new file mode 100644 index 0000000000..5b6956a3f1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RAYTRACING_GEOMETRY_FLAGS +{ + /// + + D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0, + + /// + + D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1, + + /// + + D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC.gen.cs new file mode 100644 index 0000000000..f97bd6c55e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong Transform3x4; + + /// + + public DXGI_FORMAT IndexFormat; + + /// + + public DXGI_FORMAT VertexFormat; + + /// + + public uint IndexCount; + + /// + + public uint VertexCount; + + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong IndexBuffer; + + /// + + public D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TYPE.gen.cs new file mode 100644 index 0000000000..317ec883a9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TYPE.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RAYTRACING_GEOMETRY_TYPE +{ + /// + + D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0, + + /// + + D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = + (D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_DESC.gen.cs new file mode 100644 index 0000000000..9daeaa06c4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_DESC.gen.cs @@ -0,0 +1,74 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_INSTANCE_DESC +{ + /// + + [NativeTypeName("FLOAT[3][4]")] + public _Transform_e__FixedBuffer Transform; + public uint _bitfield1; + + /// + + [NativeTypeName("uint : 24")] + public uint InstanceID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get { return _bitfield1 & 0xFFFFFFu; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set { _bitfield1 = (_bitfield1 & ~0xFFFFFFu) | (value & 0xFFFFFFu); } + } + + /// + + [NativeTypeName("uint : 8")] + public uint InstanceMask + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get { return (_bitfield1 >> 24) & 0xFFu; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set { _bitfield1 = (_bitfield1 & ~(0xFFu << 24)) | ((value & 0xFFu) << 24); } + } + public uint _bitfield2; + + /// + + [NativeTypeName("uint : 24")] + public uint InstanceContributionToHitGroupIndex + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get { return _bitfield2 & 0xFFFFFFu; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set { _bitfield2 = (_bitfield2 & ~0xFFFFFFu) | (value & 0xFFFFFFu); } + } + + /// + + [NativeTypeName("uint : 8")] + public uint Flags + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get { return (_bitfield2 >> 24) & 0xFFu; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set { _bitfield2 = (_bitfield2 & ~(0xFFu << 24)) | ((value & 0xFFu) << 24); } + } + + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong AccelerationStructure; + + /// + + [InlineArray(3 * 4)] + public partial struct _Transform_e__FixedBuffer + { + public float e0_0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_FLAGS.gen.cs new file mode 100644 index 0000000000..9198767f03 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_FLAGS.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RAYTRACING_INSTANCE_FLAGS +{ + /// + + D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0, + + /// + + D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1, + + /// + + D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2, + + /// + + D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4, + + /// + + D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG.gen.cs new file mode 100644 index 0000000000..5e5d8ea86d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_PIPELINE_CONFIG +{ + /// + + public uint MaxTraceRecursionDepth; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG1.gen.cs new file mode 100644 index 0000000000..68ff8b14f6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG1.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_PIPELINE_CONFIG1 +{ + /// + + public uint MaxTraceRecursionDepth; + + /// + + public D3D12_RAYTRACING_PIPELINE_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_FLAGS.gen.cs new file mode 100644 index 0000000000..737eb25cd7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_FLAGS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RAYTRACING_PIPELINE_FLAGS +{ + /// + + D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0, + + /// + + D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100, + + /// + + D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_SHADER_CONFIG.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_SHADER_CONFIG.gen.cs new file mode 100644 index 0000000000..1c6f58e616 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_SHADER_CONFIG.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RAYTRACING_SHADER_CONFIG +{ + /// + + public uint MaxPayloadSizeInBytes; + + /// + + public uint MaxAttributeSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_TIER.gen.cs new file mode 100644 index 0000000000..baf9645402 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_TIER.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RAYTRACING_TIER +{ + /// + + D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_RAYTRACING_TIER_1_0 = 10, + + /// + + D3D12_RAYTRACING_TIER_1_1 = 11, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RAY_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RAY_FLAGS.gen.cs new file mode 100644 index 0000000000..38aa4811cc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RAY_FLAGS.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RAY_FLAGS +{ + /// + + D3D12_RAY_FLAG_NONE = 0, + + /// + + D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1, + + /// + + D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2, + + /// + + D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4, + + /// + + D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8, + + /// + + D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10, + + /// + + D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20, + + /// + + D3D12_RAY_FLAG_CULL_OPAQUE = 0x40, + + /// + + D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80, + + /// + + D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100, + + /// + + D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS.gen.cs new file mode 100644 index 0000000000..48c6e7d0c7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_PASS_BEGINNING_ACCESS +{ + /// + + public D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L19822_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Clear; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS.gen.cs new file mode 100644 index 0000000000..5f03967e3e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS +{ + /// + + public D3D12_CLEAR_VALUE ClearValue; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE.gen.cs new file mode 100644 index 0000000000..11e95f7c48 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE +{ + /// + + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0, + + /// + + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = + (D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD + 1), + + /// + + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = + (D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE + 1), + + /// + + D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = + (D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_DEPTH_STENCIL_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_DEPTH_STENCIL_DESC.gen.cs new file mode 100644 index 0000000000..82d5cc616c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_DEPTH_STENCIL_DESC.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC +{ + /// + + public D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; + + /// + + public D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess; + + /// + + public D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess; + + /// + + public D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess; + + /// + + public D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS.gen.cs new file mode 100644 index 0000000000..8812b2d7bd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_PASS_ENDING_ACCESS +{ + /// + + public D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L19860_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Resolve; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS.gen.cs new file mode 100644 index 0000000000..623cc5e843 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS.gen.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS +{ + /// + + public ID3D12Resource* pSrcResource; + + /// + + public ID3D12Resource* pDstResource; + + /// + + public uint SubresourceCount; + + /// + + [NativeTypeName("const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *")] + public D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS* pSubresourceParameters; + + /// + + public DXGI_FORMAT Format; + + /// + + public D3D12_RESOLVE_MODE ResolveMode; + + /// + + public BOOL PreserveResolveSource; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS.gen.cs new file mode 100644 index 0000000000..d81db61026 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS +{ + /// + + public uint SrcSubresource; + + /// + + public uint DstSubresource; + + /// + + public uint DstX; + + /// + + public uint DstY; + + /// + + [NativeTypeName("D3D12_RECT")] + public RECT SrcRect; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_TYPE.gen.cs new file mode 100644 index 0000000000..9d4a087801 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_TYPE.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE +{ + /// + + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0, + + /// + + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = + (D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD + 1), + + /// + + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = + (D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE + 1), + + /// + + D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = + (D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_FLAGS.gen.cs new file mode 100644 index 0000000000..928fcb6584 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RENDER_PASS_FLAGS +{ + /// + + D3D12_RENDER_PASS_FLAG_NONE = 0, + + /// + + D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1, + + /// + + D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2, + + /// + + D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_RENDER_TARGET_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_RENDER_TARGET_DESC.gen.cs new file mode 100644 index 0000000000..f36cdf8f09 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_RENDER_TARGET_DESC.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_PASS_RENDER_TARGET_DESC +{ + /// + + public D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor; + + /// + + public D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess; + + /// + + public D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_TIER.gen.cs new file mode 100644 index 0000000000..2bf04224a5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_TIER.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RENDER_PASS_TIER +{ + /// + + D3D12_RENDER_PASS_TIER_0 = 0, + + /// + + D3D12_RENDER_PASS_TIER_1 = 1, + + /// + + D3D12_RENDER_PASS_TIER_2 = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_BLEND_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_BLEND_DESC.gen.cs new file mode 100644 index 0000000000..720886a88f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_BLEND_DESC.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_TARGET_BLEND_DESC +{ + /// + + public BOOL BlendEnable; + + /// + + public BOOL LogicOpEnable; + + /// + + public D3D12_BLEND SrcBlend; + + /// + + public D3D12_BLEND DestBlend; + + /// + + public D3D12_BLEND_OP BlendOp; + + /// + + public D3D12_BLEND SrcBlendAlpha; + + /// + + public D3D12_BLEND DestBlendAlpha; + + /// + + public D3D12_BLEND_OP BlendOpAlpha; + + /// + + public D3D12_LOGIC_OP LogicOp; + + /// + + [NativeTypeName("UINT8")] + public byte RenderTargetWriteMask; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_VIEW_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_VIEW_DESC.gen.cs new file mode 100644 index 0000000000..0e213c1457 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_VIEW_DESC.gen.cs @@ -0,0 +1,143 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RENDER_TARGET_VIEW_DESC +{ + /// + + public DXGI_FORMAT Format; + + /// + + public D3D12_RTV_DIMENSION ViewDimension; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3549_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_BUFFER_RTV Buffer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Buffer; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_RTV Texture1D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_ARRAY_RTV Texture1DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_RTV Texture2D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_ARRAY_RTV Texture2DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_RTV Texture2DMS + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMS; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMSArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX3D_RTV Texture3D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture3D; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_BUFFER_RTV Buffer; + + /// + + [FieldOffset(0)] + public D3D12_TEX1D_RTV Texture1D; + + /// + + [FieldOffset(0)] + public D3D12_TEX1D_ARRAY_RTV Texture1DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_RTV Texture2D; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_ARRAY_RTV Texture2DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_RTV Texture2DMS; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX3D_RTV Texture3D; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESIDENCY_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESIDENCY_FLAGS.gen.cs new file mode 100644 index 0000000000..7db7217b1a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESIDENCY_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RESIDENCY_FLAGS +{ + /// + + D3D12_RESIDENCY_FLAG_NONE = 0, + + /// + + D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESIDENCY_PRIORITY.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESIDENCY_PRIORITY.gen.cs new file mode 100644 index 0000000000..466e3f9aaa --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESIDENCY_PRIORITY.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RESIDENCY_PRIORITY +{ + /// + + D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000, + + /// + + D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000, + + /// + + D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000, + + /// + + D3D12_RESIDENCY_PRIORITY_HIGH = unchecked((int)(0xa0010000)), + + /// + + D3D12_RESIDENCY_PRIORITY_MAXIMUM = unchecked((int)(0xc8000000)), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOLVE_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOLVE_MODE.gen.cs new file mode 100644 index 0000000000..bf4d43bbd8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOLVE_MODE.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RESOLVE_MODE +{ + /// + + D3D12_RESOLVE_MODE_DECOMPRESS = 0, + + /// + + D3D12_RESOLVE_MODE_MIN = 1, + + /// + + D3D12_RESOLVE_MODE_MAX = 2, + + /// + + D3D12_RESOLVE_MODE_AVERAGE = 3, + + /// + + D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4, + + /// + + D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALIASING_BARRIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALIASING_BARRIER.gen.cs new file mode 100644 index 0000000000..4afafd9076 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALIASING_BARRIER.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_RESOURCE_ALIASING_BARRIER +{ + /// + + public ID3D12Resource* pResourceBefore; + + /// + + public ID3D12Resource* pResourceAfter; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO.gen.cs new file mode 100644 index 0000000000..472cf4e1fd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RESOURCE_ALLOCATION_INFO +{ + /// + + [NativeTypeName("UINT64")] + public ulong SizeInBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong Alignment; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO1.gen.cs new file mode 100644 index 0000000000..4cfe47ae06 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO1.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RESOURCE_ALLOCATION_INFO1 +{ + /// + + [NativeTypeName("UINT64")] + public ulong Offset; + + /// + + [NativeTypeName("UINT64")] + public ulong Alignment; + + /// + + [NativeTypeName("UINT64")] + public ulong SizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER.gen.cs new file mode 100644 index 0000000000..697d738b5c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RESOURCE_BARRIER +{ + /// + + public D3D12_RESOURCE_BARRIER_TYPE Type; + + /// + + public D3D12_RESOURCE_BARRIER_FLAGS Flags; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3002_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_RESOURCE_TRANSITION_BARRIER Transition + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Transition; } + } + + /// + + [UnscopedRef] + public ref D3D12_RESOURCE_ALIASING_BARRIER Aliasing + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Aliasing; } + } + + /// + + [UnscopedRef] + public ref D3D12_RESOURCE_UAV_BARRIER UAV + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.UAV; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_RESOURCE_TRANSITION_BARRIER Transition; + + /// + + [FieldOffset(0)] + public D3D12_RESOURCE_ALIASING_BARRIER Aliasing; + + /// + + [FieldOffset(0)] + public D3D12_RESOURCE_UAV_BARRIER UAV; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER_FLAGS.gen.cs new file mode 100644 index 0000000000..3a62707fcd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RESOURCE_BARRIER_FLAGS +{ + /// + + D3D12_RESOURCE_BARRIER_FLAG_NONE = 0, + + /// + + D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, + + /// + + D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER_TYPE.gen.cs new file mode 100644 index 0000000000..e984984bc0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIER_TYPE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RESOURCE_BARRIER_TYPE +{ + /// + + D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0, + + /// + + D3D12_RESOURCE_BARRIER_TYPE_ALIASING = (D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1), + + /// + + D3D12_RESOURCE_BARRIER_TYPE_UAV = (D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BINDING_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BINDING_TIER.gen.cs new file mode 100644 index 0000000000..96e0fe5377 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BINDING_TIER.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RESOURCE_BINDING_TIER +{ + /// + + D3D12_RESOURCE_BINDING_TIER_1 = 1, + + /// + + D3D12_RESOURCE_BINDING_TIER_2 = 2, + + /// + + D3D12_RESOURCE_BINDING_TIER_3 = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC.gen.cs new file mode 100644 index 0000000000..5045e7dd6b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RESOURCE_DESC +{ + /// + + public D3D12_RESOURCE_DIMENSION Dimension; + + /// + + [NativeTypeName("UINT64")] + public ulong Alignment; + + /// + + [NativeTypeName("UINT64")] + public ulong Width; + + /// + + public uint Height; + + /// + + [NativeTypeName("UINT16")] + public ushort DepthOrArraySize; + + /// + + [NativeTypeName("UINT16")] + public ushort MipLevels; + + /// + + public DXGI_FORMAT Format; + + /// + + public DXGI_SAMPLE_DESC SampleDesc; + + /// + + public D3D12_TEXTURE_LAYOUT Layout; + + /// + + public D3D12_RESOURCE_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC1.gen.cs new file mode 100644 index 0000000000..5521dd0a6e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC1.gen.cs @@ -0,0 +1,56 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RESOURCE_DESC1 +{ + /// + + public D3D12_RESOURCE_DIMENSION Dimension; + + /// + + [NativeTypeName("UINT64")] + public ulong Alignment; + + /// + + [NativeTypeName("UINT64")] + public ulong Width; + + /// + + public uint Height; + + /// + + [NativeTypeName("UINT16")] + public ushort DepthOrArraySize; + + /// + + [NativeTypeName("UINT16")] + public ushort MipLevels; + + /// + + public DXGI_FORMAT Format; + + /// + + public DXGI_SAMPLE_DESC SampleDesc; + + /// + + public D3D12_TEXTURE_LAYOUT Layout; + + /// + + public D3D12_RESOURCE_FLAGS Flags; + + /// + + public D3D12_MIP_REGION SamplerFeedbackMipRegion; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DIMENSION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DIMENSION.gen.cs new file mode 100644 index 0000000000..ce98e2d52c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DIMENSION.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RESOURCE_DIMENSION +{ + /// + + D3D12_RESOURCE_DIMENSION_UNKNOWN = 0, + + /// + + D3D12_RESOURCE_DIMENSION_BUFFER = 1, + + /// + + D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2, + + /// + + D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3, + + /// + + D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_FLAGS.gen.cs new file mode 100644 index 0000000000..2102083ee0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_FLAGS.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RESOURCE_FLAGS +{ + /// + + D3D12_RESOURCE_FLAG_NONE = 0, + + /// + + D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1, + + /// + + D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2, + + /// + + D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, + + /// + + D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, + + /// + + D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, + + /// + + D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20, + + /// + + D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40, + + /// + + D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80, + + /// + + D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_HEAP_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_HEAP_TIER.gen.cs new file mode 100644 index 0000000000..eca22867c5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_HEAP_TIER.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RESOURCE_HEAP_TIER +{ + /// + + D3D12_RESOURCE_HEAP_TIER_1 = 1, + + /// + + D3D12_RESOURCE_HEAP_TIER_2 = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_STATES.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_STATES.gen.cs new file mode 100644 index 0000000000..ae5b10a7c0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_STATES.gen.cs @@ -0,0 +1,119 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RESOURCE_STATES +{ + /// + + D3D12_RESOURCE_STATE_COMMON = 0, + + /// + + D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1, + + /// + + D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2, + + /// + + D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4, + + /// + + D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8, + + /// + + D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10, + + /// + + D3D12_RESOURCE_STATE_DEPTH_READ = 0x20, + + /// + + D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40, + + /// + + D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80, + + /// + + D3D12_RESOURCE_STATE_STREAM_OUT = 0x100, + + /// + + D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200, + + /// + + D3D12_RESOURCE_STATE_COPY_DEST = 0x400, + + /// + + D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800, + + /// + + D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000, + + /// + + D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000, + + /// + + D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000, + + /// + + D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000, + + /// + + D3D12_RESOURCE_STATE_GENERIC_READ = (((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800), + + /// + + D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = (0x40 | 0x80), + + /// + + D3D12_RESOURCE_STATE_PRESENT = 0, + + /// + + D3D12_RESOURCE_STATE_PREDICATION = 0x200, + + /// + + D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000, + + /// + + D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000, + + /// + + D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000, + + /// + + D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000, + + /// + + D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000, + + /// + + D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_TRANSITION_BARRIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_TRANSITION_BARRIER.gen.cs new file mode 100644 index 0000000000..99a5721bd5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_TRANSITION_BARRIER.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_RESOURCE_TRANSITION_BARRIER +{ + /// + + public ID3D12Resource* pResource; + + /// + + public uint Subresource; + + /// + + public D3D12_RESOURCE_STATES StateBefore; + + /// + + public D3D12_RESOURCE_STATES StateAfter; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_UAV_BARRIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_UAV_BARRIER.gen.cs new file mode 100644 index 0000000000..a046e3bbea --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_UAV_BARRIER.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_RESOURCE_UAV_BARRIER +{ + /// + + public ID3D12Resource* pResource; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_CONSTANTS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_CONSTANTS.gen.cs new file mode 100644 index 0000000000..1ba0642a43 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_CONSTANTS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_ROOT_CONSTANTS +{ + /// + + public uint ShaderRegister; + + /// + + public uint RegisterSpace; + + /// + + public uint Num32BitValues; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR.gen.cs new file mode 100644 index 0000000000..9dd5d9786b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_ROOT_DESCRIPTOR +{ + /// + + public uint ShaderRegister; + + /// + + public uint RegisterSpace; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR1.gen.cs new file mode 100644 index 0000000000..4f1ce5e392 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR1.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_ROOT_DESCRIPTOR1 +{ + /// + + public uint ShaderRegister; + + /// + + public uint RegisterSpace; + + /// + + public D3D12_ROOT_DESCRIPTOR_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_FLAGS.gen.cs new file mode 100644 index 0000000000..4db4be3a56 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_ROOT_DESCRIPTOR_FLAGS +{ + /// + + D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0, + + /// + + D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2, + + /// + + D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, + + /// + + D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE.gen.cs new file mode 100644 index 0000000000..fd09e8aed7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_ROOT_DESCRIPTOR_TABLE +{ + /// + + public uint NumDescriptorRanges; + + /// + + [NativeTypeName("const D3D12_DESCRIPTOR_RANGE *")] + public D3D12_DESCRIPTOR_RANGE* pDescriptorRanges; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE1.gen.cs new file mode 100644 index 0000000000..87780eb961 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE1.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_ROOT_DESCRIPTOR_TABLE1 +{ + /// + + public uint NumDescriptorRanges; + + /// + + [NativeTypeName("const D3D12_DESCRIPTOR_RANGE1 *")] + public D3D12_DESCRIPTOR_RANGE1* pDescriptorRanges; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER.gen.cs new file mode 100644 index 0000000000..8042d37de5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_ROOT_PARAMETER +{ + /// + + public D3D12_ROOT_PARAMETER_TYPE ParameterType; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3741_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + public D3D12_SHADER_VISIBILITY ShaderVisibility; + + /// + + [UnscopedRef] + public ref D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.DescriptorTable; } + } + + /// + + [UnscopedRef] + public ref D3D12_ROOT_CONSTANTS Constants + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Constants; } + } + + /// + + [UnscopedRef] + public ref D3D12_ROOT_DESCRIPTOR Descriptor + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Descriptor; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable; + + /// + + [FieldOffset(0)] + public D3D12_ROOT_CONSTANTS Constants; + + /// + + [FieldOffset(0)] + public D3D12_ROOT_DESCRIPTOR Descriptor; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER1.gen.cs new file mode 100644 index 0000000000..6a029740c9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER1.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_ROOT_PARAMETER1 +{ + /// + + public D3D12_ROOT_PARAMETER_TYPE ParameterType; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3853_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + public D3D12_SHADER_VISIBILITY ShaderVisibility; + + /// + + [UnscopedRef] + public ref D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.DescriptorTable; } + } + + /// + + [UnscopedRef] + public ref D3D12_ROOT_CONSTANTS Constants + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Constants; } + } + + /// + + [UnscopedRef] + public ref D3D12_ROOT_DESCRIPTOR1 Descriptor + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Descriptor; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable; + + /// + + [FieldOffset(0)] + public D3D12_ROOT_CONSTANTS Constants; + + /// + + [FieldOffset(0)] + public D3D12_ROOT_DESCRIPTOR1 Descriptor; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER_TYPE.gen.cs new file mode 100644 index 0000000000..8cf50fd285 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER_TYPE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_ROOT_PARAMETER_TYPE +{ + /// + + D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0, + + /// + + D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = (D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1), + + /// + + D3D12_ROOT_PARAMETER_TYPE_CBV = (D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1), + + /// + + D3D12_ROOT_PARAMETER_TYPE_SRV = (D3D12_ROOT_PARAMETER_TYPE_CBV + 1), + + /// + + D3D12_ROOT_PARAMETER_TYPE_UAV = (D3D12_ROOT_PARAMETER_TYPE_SRV + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC.gen.cs new file mode 100644 index 0000000000..e8511a4aac --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_ROOT_SIGNATURE_DESC +{ + /// + + public uint NumParameters; + + /// + + [NativeTypeName("const D3D12_ROOT_PARAMETER *")] + public D3D12_ROOT_PARAMETER* pParameters; + + /// + + public uint NumStaticSamplers; + + /// + + [NativeTypeName("const D3D12_STATIC_SAMPLER_DESC *")] + public D3D12_STATIC_SAMPLER_DESC* pStaticSamplers; + + /// + + public D3D12_ROOT_SIGNATURE_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC1.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC1.gen.cs new file mode 100644 index 0000000000..18b9042deb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC1.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_ROOT_SIGNATURE_DESC1 +{ + /// + + public uint NumParameters; + + /// + + [NativeTypeName("const D3D12_ROOT_PARAMETER1 *")] + public D3D12_ROOT_PARAMETER1* pParameters; + + /// + + public uint NumStaticSamplers; + + /// + + [NativeTypeName("const D3D12_STATIC_SAMPLER_DESC *")] + public D3D12_STATIC_SAMPLER_DESC* pStaticSamplers; + + /// + + public D3D12_ROOT_SIGNATURE_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_FLAGS.gen.cs new file mode 100644 index 0000000000..6fe12886be --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_FLAGS.gen.cs @@ -0,0 +1,63 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_ROOT_SIGNATURE_FLAGS +{ + /// + + D3D12_ROOT_SIGNATURE_FLAG_NONE = 0, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400, + + /// + + D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RTV_DIMENSION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RTV_DIMENSION.gen.cs new file mode 100644 index 0000000000..a145f0c28f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RTV_DIMENSION.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_RTV_DIMENSION +{ + /// + + D3D12_RTV_DIMENSION_UNKNOWN = 0, + + /// + + D3D12_RTV_DIMENSION_BUFFER = 1, + + /// + + D3D12_RTV_DIMENSION_TEXTURE1D = 2, + + /// + + D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3, + + /// + + D3D12_RTV_DIMENSION_TEXTURE2D = 4, + + /// + + D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5, + + /// + + D3D12_RTV_DIMENSION_TEXTURE2DMS = 6, + + /// + + D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, + + /// + + D3D12_RTV_DIMENSION_TEXTURE3D = 8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_RT_FORMAT_ARRAY.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_RT_FORMAT_ARRAY.gen.cs new file mode 100644 index 0000000000..e1d451ed04 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_RT_FORMAT_ARRAY.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_RT_FORMAT_ARRAY +{ + /// + + [NativeTypeName("DXGI_FORMAT[8]")] + public _RTFormats_e__FixedBuffer RTFormats; + + /// + + public uint NumRenderTargets; + + /// + + [InlineArray(8)] + public partial struct _RTFormats_e__FixedBuffer + { + public DXGI_FORMAT e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC.gen.cs new file mode 100644 index 0000000000..1958bd157d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC.gen.cs @@ -0,0 +1,59 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SAMPLER_DESC +{ + /// + + public D3D12_FILTER Filter; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressU; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressV; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressW; + + /// + + public float MipLODBias; + + /// + + public uint MaxAnisotropy; + + /// + + public D3D12_COMPARISON_FUNC ComparisonFunc; + + /// + + [NativeTypeName("FLOAT[4]")] + public _BorderColor_e__FixedBuffer BorderColor; + + /// + + public float MinLOD; + + /// + + public float MaxLOD; + + /// + + [InlineArray(4)] + public partial struct _BorderColor_e__FixedBuffer + { + public float e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC2.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC2.gen.cs new file mode 100644 index 0000000000..0c7797ab96 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC2.gen.cs @@ -0,0 +1,110 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SAMPLER_DESC2 +{ + /// + + public D3D12_FILTER Filter; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressU; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressV; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressW; + + /// + + public float MipLODBias; + + /// + + public uint MaxAnisotropy; + + /// + + public D3D12_COMPARISON_FUNC ComparisonFunc; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3379_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + public float MinLOD; + + /// + + public float MaxLOD; + + /// + + public D3D12_SAMPLER_FLAGS Flags; + + /// + + [UnscopedRef] + public Span FloatBorderColor + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return Anonymous.FloatBorderColor; } + } + + /// + + [UnscopedRef] + public Span UintBorderColor + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return Anonymous.UintBorderColor; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("FLOAT[4]")] + public _FloatBorderColor_e__FixedBuffer FloatBorderColor; + + /// + + [FieldOffset(0)] + [NativeTypeName("UINT[4]")] + public _UintBorderColor_e__FixedBuffer UintBorderColor; + + /// + + [InlineArray(4)] + public partial struct _FloatBorderColor_e__FixedBuffer + { + public float e0; + } + + /// + + [InlineArray(4)] + public partial struct _UintBorderColor_e__FixedBuffer + { + public uint e0; + } + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_FEEDBACK_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_FEEDBACK_TIER.gen.cs new file mode 100644 index 0000000000..68aef41125 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_FEEDBACK_TIER.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SAMPLER_FEEDBACK_TIER +{ + /// + + D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 90, + + /// + + D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 100, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_FLAGS.gen.cs new file mode 100644 index 0000000000..f4b0dc757f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_SAMPLER_FLAGS +{ + /// + + D3D12_SAMPLER_FLAG_NONE = 0, + + /// + + D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLE_POSITION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLE_POSITION.gen.cs new file mode 100644 index 0000000000..45a253e81f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SAMPLE_POSITION.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SAMPLE_POSITION +{ + /// + + [NativeTypeName("INT8")] + public sbyte X; + + /// + + [NativeTypeName("INT8")] + public sbyte Y; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER.gen.cs new file mode 100644 index 0000000000..d34c566988 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER +{ + /// + + public Guid DriverOpaqueGUID; + + /// + + [NativeTypeName("BYTE[16]")] + public _DriverOpaqueVersioningData_e__FixedBuffer DriverOpaqueVersioningData; + + /// + + [InlineArray(16)] + public partial struct _DriverOpaqueVersioningData_e__FixedBuffer + { + public byte e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_TYPE.gen.cs new file mode 100644 index 0000000000..626fd384f3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_TYPE.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SERIALIZED_DATA_TYPE +{ + /// + + D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER.gen.cs new file mode 100644 index 0000000000..d2f859739c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER +{ + /// + + public D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; + + /// + + [NativeTypeName("UINT64")] + public ulong SerializedSizeInBytesIncludingHeader; + + /// + + [NativeTypeName("UINT64")] + public ulong DeserializedSizeInBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong NumBottomLevelAccelerationStructurePointersAfterHeader; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_BYTECODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_BYTECODE.gen.cs new file mode 100644 index 0000000000..841f6de5ea --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_BYTECODE.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SHADER_BYTECODE +{ + /// + + [NativeTypeName("const void *")] + public void* pShaderBytecode; + + /// + + [NativeTypeName("SIZE_T")] + public nuint BytecodeLength; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_CONTROL_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_CONTROL_FLAGS.gen.cs new file mode 100644 index 0000000000..6ad913380a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_CONTROL_FLAGS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHADER_CACHE_CONTROL_FLAGS +{ + /// + + D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1, + + /// + + D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2, + + /// + + D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_FLAGS.gen.cs new file mode 100644 index 0000000000..18c31eb616 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_SHADER_CACHE_FLAGS +{ + /// + + D3D12_SHADER_CACHE_FLAG_NONE = 0, + + /// + + D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1, + + /// + + D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_KIND_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_KIND_FLAGS.gen.cs new file mode 100644 index 0000000000..7b02b0cd8b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_KIND_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_SHADER_CACHE_KIND_FLAGS +{ + /// + + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1, + + /// + + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2, + + /// + + D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4, + + /// + + D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_MODE.gen.cs new file mode 100644 index 0000000000..33b7fa9e0c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_MODE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHADER_CACHE_MODE +{ + /// + + D3D12_SHADER_CACHE_MODE_MEMORY = 0, + + /// + + D3D12_SHADER_CACHE_MODE_DISK = (D3D12_SHADER_CACHE_MODE_MEMORY + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SESSION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SESSION_DESC.gen.cs new file mode 100644 index 0000000000..e1711e335a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SESSION_DESC.gen.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SHADER_CACHE_SESSION_DESC +{ + /// + + public Guid Identifier; + + /// + + public D3D12_SHADER_CACHE_MODE Mode; + + /// + + public D3D12_SHADER_CACHE_FLAGS Flags; + + /// + + public uint MaximumInMemoryCacheSizeBytes; + + /// + + public uint MaximumInMemoryCacheEntries; + + /// + + public uint MaximumValueFileSizeBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong Version; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..57245f1ddd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_SHADER_CACHE_SUPPORT_FLAGS +{ + /// + + D3D12_SHADER_CACHE_SUPPORT_NONE = 0, + + /// + + D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1, + + /// + + D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2, + + /// + + D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4, + + /// + + D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8, + + /// + + D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10, + + /// + + D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20, + + /// + + D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_COMPONENT_MAPPING.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_COMPONENT_MAPPING.gen.cs new file mode 100644 index 0000000000..ee148f2f28 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_COMPONENT_MAPPING.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHADER_COMPONENT_MAPPING +{ + /// + + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0, + + /// + + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1, + + /// + + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2, + + /// + + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3, + + /// + + D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4, + + /// + + D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_MIN_PRECISION_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_MIN_PRECISION_SUPPORT.gen.cs new file mode 100644 index 0000000000..886106428a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_MIN_PRECISION_SUPPORT.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_SHADER_MIN_PRECISION_SUPPORT +{ + /// + + D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0, + + /// + + D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1, + + /// + + D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_RESOURCE_VIEW_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_RESOURCE_VIEW_DESC.gen.cs new file mode 100644 index 0000000000..464bbc62fe --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_RESOURCE_VIEW_DESC.gen.cs @@ -0,0 +1,189 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SHADER_RESOURCE_VIEW_DESC +{ + /// + + public DXGI_FORMAT Format; + + /// + + public D3D12_SRV_DIMENSION ViewDimension; + + /// + + public uint Shader4ComponentMapping; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3213_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_BUFFER_SRV Buffer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Buffer; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_SRV Texture1D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_ARRAY_SRV Texture1DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_SRV Texture2D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_ARRAY_SRV Texture2DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_SRV Texture2DMS + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMS; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMSArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX3D_SRV Texture3D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture3D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEXCUBE_SRV TextureCube + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.TextureCube; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.TextureCubeArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.RaytracingAccelerationStructure; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_BUFFER_SRV Buffer; + + /// + + [FieldOffset(0)] + public D3D12_TEX1D_SRV Texture1D; + + /// + + [FieldOffset(0)] + public D3D12_TEX1D_ARRAY_SRV Texture1DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_SRV Texture2D; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_ARRAY_SRV Texture2DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_SRV Texture2DMS; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX3D_SRV Texture3D; + + /// + + [FieldOffset(0)] + public D3D12_TEXCUBE_SRV TextureCube; + + /// + + [FieldOffset(0)] + public D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray; + + /// + + [FieldOffset(0)] + public D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_VISIBILITY.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_VISIBILITY.gen.cs new file mode 100644 index 0000000000..bdac303e82 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADER_VISIBILITY.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHADER_VISIBILITY +{ + /// + + D3D12_SHADER_VISIBILITY_ALL = 0, + + /// + + D3D12_SHADER_VISIBILITY_VERTEX = 1, + + /// + + D3D12_SHADER_VISIBILITY_HULL = 2, + + /// + + D3D12_SHADER_VISIBILITY_DOMAIN = 3, + + /// + + D3D12_SHADER_VISIBILITY_GEOMETRY = 4, + + /// + + D3D12_SHADER_VISIBILITY_PIXEL = 5, + + /// + + D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6, + + /// + + D3D12_SHADER_VISIBILITY_MESH = 7, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADING_RATE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADING_RATE.gen.cs new file mode 100644 index 0000000000..692523a350 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADING_RATE.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHADING_RATE +{ + /// + + D3D12_SHADING_RATE_1X1 = 0, + + /// + + D3D12_SHADING_RATE_1X2 = 0x1, + + /// + + D3D12_SHADING_RATE_2X1 = 0x4, + + /// + + D3D12_SHADING_RATE_2X2 = 0x5, + + /// + + D3D12_SHADING_RATE_2X4 = 0x6, + + /// + + D3D12_SHADING_RATE_4X2 = 0x9, + + /// + + D3D12_SHADING_RATE_4X4 = 0xa, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHADING_RATE_COMBINER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADING_RATE_COMBINER.gen.cs new file mode 100644 index 0000000000..bc2d64775b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHADING_RATE_COMBINER.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHADING_RATE_COMBINER +{ + /// + + D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0, + + /// + + D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1, + + /// + + D3D12_SHADING_RATE_COMBINER_MIN = 2, + + /// + + D3D12_SHADING_RATE_COMBINER_MAX = 3, + + /// + + D3D12_SHADING_RATE_COMBINER_SUM = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER.gen.cs new file mode 100644 index 0000000000..b288aa06d3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER +{ + /// + + D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0, + + /// + + D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = (D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 + 1), + + /// + + D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = (D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SO_DECLARATION_ENTRY.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SO_DECLARATION_ENTRY.gen.cs new file mode 100644 index 0000000000..38ed2c9729 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SO_DECLARATION_ENTRY.gen.cs @@ -0,0 +1,33 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SO_DECLARATION_ENTRY +{ + /// + + public uint Stream; + + /// + + [NativeTypeName("LPCSTR")] + public sbyte* SemanticName; + + /// + + public uint SemanticIndex; + + /// + + public byte StartComponent; + + /// + + public byte ComponentCount; + + /// + + public byte OutputSlot; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SRV_DIMENSION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SRV_DIMENSION.gen.cs new file mode 100644 index 0000000000..166d3032f9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SRV_DIMENSION.gen.cs @@ -0,0 +1,56 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SRV_DIMENSION +{ + /// + + D3D12_SRV_DIMENSION_UNKNOWN = 0, + + /// + + D3D12_SRV_DIMENSION_BUFFER = 1, + + /// + + D3D12_SRV_DIMENSION_TEXTURE1D = 2, + + /// + + D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3, + + /// + + D3D12_SRV_DIMENSION_TEXTURE2D = 4, + + /// + + D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5, + + /// + + D3D12_SRV_DIMENSION_TEXTURE2DMS = 6, + + /// + + D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, + + /// + + D3D12_SRV_DIMENSION_TEXTURE3D = 8, + + /// + + D3D12_SRV_DIMENSION_TEXTURECUBE = 9, + + /// + + D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10, + + /// + + D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_CONFIG.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_CONFIG.gen.cs new file mode 100644 index 0000000000..50b0d9a20d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_CONFIG.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_STATE_OBJECT_CONFIG +{ + /// + + public D3D12_STATE_OBJECT_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_DESC.gen.cs new file mode 100644 index 0000000000..3d5ed3103a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_DESC.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_STATE_OBJECT_DESC +{ + /// + + public D3D12_STATE_OBJECT_TYPE Type; + + /// + + public uint NumSubobjects; + + /// + + [NativeTypeName("const D3D12_STATE_SUBOBJECT *")] + public D3D12_STATE_SUBOBJECT* pSubobjects; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_FLAGS.gen.cs new file mode 100644 index 0000000000..3508437cc6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_STATE_OBJECT_FLAGS +{ + /// + + D3D12_STATE_OBJECT_FLAG_NONE = 0, + + /// + + D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1, + + /// + + D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2, + + /// + + D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_TYPE.gen.cs new file mode 100644 index 0000000000..c4018a95ca --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_TYPE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_STATE_OBJECT_TYPE +{ + /// + + D3D12_STATE_OBJECT_TYPE_COLLECTION = 0, + + /// + + D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECT.gen.cs new file mode 100644 index 0000000000..753ea9f137 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECT.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_STATE_SUBOBJECT +{ + /// + + public D3D12_STATE_SUBOBJECT_TYPE Type; + + /// + + [NativeTypeName("const void *")] + public void* pDesc; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECT_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECT_TYPE.gen.cs new file mode 100644 index 0000000000..6071d1fa18 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECT_TYPE.gen.cs @@ -0,0 +1,61 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_STATE_SUBOBJECT_TYPE +{ + /// + + D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12, + + /// + + D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = + (D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATIC_BORDER_COLOR.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATIC_BORDER_COLOR.gen.cs new file mode 100644 index 0000000000..6e9371434a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATIC_BORDER_COLOR.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_STATIC_BORDER_COLOR +{ + /// + + D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0, + + /// + + D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = (D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1), + + /// + + D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = (D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1), + + /// + + D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT = (D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE + 1), + + /// + + D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT = (D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STATIC_SAMPLER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STATIC_SAMPLER_DESC.gen.cs new file mode 100644 index 0000000000..a1dfd45c29 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STATIC_SAMPLER_DESC.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_STATIC_SAMPLER_DESC +{ + /// + + public D3D12_FILTER Filter; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressU; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressV; + + /// + + public D3D12_TEXTURE_ADDRESS_MODE AddressW; + + /// + + public float MipLODBias; + + /// + + public uint MaxAnisotropy; + + /// + + public D3D12_COMPARISON_FUNC ComparisonFunc; + + /// + + public D3D12_STATIC_BORDER_COLOR BorderColor; + + /// + + public float MinLOD; + + /// + + public float MaxLOD; + + /// + + public uint ShaderRegister; + + /// + + public uint RegisterSpace; + + /// + + public D3D12_SHADER_VISIBILITY ShaderVisibility; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STENCIL_OP.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STENCIL_OP.gen.cs new file mode 100644 index 0000000000..8cac95df13 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STENCIL_OP.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_STENCIL_OP +{ + /// + + D3D12_STENCIL_OP_KEEP = 1, + + /// + + D3D12_STENCIL_OP_ZERO = 2, + + /// + + D3D12_STENCIL_OP_REPLACE = 3, + + /// + + D3D12_STENCIL_OP_INCR_SAT = 4, + + /// + + D3D12_STENCIL_OP_DECR_SAT = 5, + + /// + + D3D12_STENCIL_OP_INVERT = 6, + + /// + + D3D12_STENCIL_OP_INCR = 7, + + /// + + D3D12_STENCIL_OP_DECR = 8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_BUFFER_VIEW.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_BUFFER_VIEW.gen.cs new file mode 100644 index 0000000000..a3ae659685 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_BUFFER_VIEW.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_STREAM_OUTPUT_BUFFER_VIEW +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong BufferLocation; + + /// + + [NativeTypeName("UINT64")] + public ulong SizeInBytes; + + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong BufferFilledSizeLocation; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_DESC.gen.cs new file mode 100644 index 0000000000..21d0cb01e2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_DESC.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_STREAM_OUTPUT_DESC +{ + /// + + [NativeTypeName("const D3D12_SO_DECLARATION_ENTRY *")] + public D3D12_SO_DECLARATION_ENTRY* pSODeclaration; + + /// + + public uint NumEntries; + + /// + + [NativeTypeName("const UINT *")] + public uint* pBufferStrides; + + /// + + public uint NumStrides; + + /// + + public uint RasterizedStream; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION.gen.cs new file mode 100644 index 0000000000..4b900b6b4a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION +{ + /// + + [NativeTypeName("const D3D12_STATE_SUBOBJECT *")] + public D3D12_STATE_SUBOBJECT* pSubobjectToAssociate; + + /// + + public uint NumExports; + + /// + + [NativeTypeName("LPCWSTR *")] + public ushort** pExports; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_DATA.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_DATA.gen.cs new file mode 100644 index 0000000000..2ac9e1ff9a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_DATA.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SUBRESOURCE_DATA +{ + /// + + [NativeTypeName("const void *")] + public void* pData; + + /// + + [NativeTypeName("LONG_PTR")] + public nint RowPitch; + + /// + + [NativeTypeName("LONG_PTR")] + public nint SlicePitch; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_FOOTPRINT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_FOOTPRINT.gen.cs new file mode 100644 index 0000000000..52693dd4c2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_FOOTPRINT.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SUBRESOURCE_FOOTPRINT +{ + /// + + public DXGI_FORMAT Format; + + /// + + public uint Width; + + /// + + public uint Height; + + /// + + public uint Depth; + + /// + + public uint RowPitch; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_INFO.gen.cs new file mode 100644 index 0000000000..c7d6556602 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_INFO.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SUBRESOURCE_INFO +{ + /// + + [NativeTypeName("UINT64")] + public ulong Offset; + + /// + + public uint RowPitch; + + /// + + public uint DepthPitch; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_RANGE_UINT64.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_RANGE_UINT64.gen.cs new file mode 100644 index 0000000000..0185c30bbf --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_RANGE_UINT64.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SUBRESOURCE_RANGE_UINT64 +{ + /// + + public uint Subresource; + + /// + + public D3D12_RANGE_UINT64 Range; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_TILING.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_TILING.gen.cs new file mode 100644 index 0000000000..48bce4a681 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_TILING.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_SUBRESOURCE_TILING +{ + /// + + public uint WidthInTiles; + + /// + + [NativeTypeName("UINT16")] + public ushort HeightInTiles; + + /// + + [NativeTypeName("UINT16")] + public ushort DepthInTiles; + + /// + + public uint StartTileIndexInOverallResource; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_DSV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_DSV.gen.cs new file mode 100644 index 0000000000..1efef1f5b4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_DSV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_ARRAY_DSV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_RTV.gen.cs new file mode 100644 index 0000000000..d435437ab4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_RTV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_ARRAY_RTV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_SRV.gen.cs new file mode 100644 index 0000000000..ab490f43a1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_SRV.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_ARRAY_SRV +{ + /// + + public uint MostDetailedMip; + + /// + + public uint MipLevels; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; + + /// + + public float ResourceMinLODClamp; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_UAV.gen.cs new file mode 100644 index 0000000000..cfb3053c49 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_UAV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_ARRAY_UAV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_DSV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_DSV.gen.cs new file mode 100644 index 0000000000..fac189ac79 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_DSV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_DSV +{ + /// + + public uint MipSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_RTV.gen.cs new file mode 100644 index 0000000000..2deb484b24 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_RTV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_RTV +{ + /// + + public uint MipSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_SRV.gen.cs new file mode 100644 index 0000000000..363058ab91 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_SRV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_SRV +{ + /// + + public uint MostDetailedMip; + + /// + + public uint MipLevels; + + /// + + public float ResourceMinLODClamp; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_UAV.gen.cs new file mode 100644 index 0000000000..3f253b352c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX1D_UAV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX1D_UAV +{ + /// + + public uint MipSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_DSV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_DSV.gen.cs new file mode 100644 index 0000000000..9eee80afae --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_DSV.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_ARRAY_DSV +{ + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_RTV.gen.cs new file mode 100644 index 0000000000..3e0c3ecd95 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_RTV.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_ARRAY_RTV +{ + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_SRV.gen.cs new file mode 100644 index 0000000000..88cacd3338 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_SRV.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_ARRAY_SRV +{ + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_UAV.gen.cs new file mode 100644 index 0000000000..e600c9a477 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_UAV.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_ARRAY_UAV +{ + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_DSV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_DSV.gen.cs new file mode 100644 index 0000000000..72bca93afe --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_DSV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_DSV +{ + /// + + public uint UnusedField_NothingToDefine; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_RTV.gen.cs new file mode 100644 index 0000000000..d442d9662c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_RTV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_RTV +{ + /// + + public uint UnusedField_NothingToDefine; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_SRV.gen.cs new file mode 100644 index 0000000000..d374cbe19f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_SRV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_SRV +{ + /// + + public uint UnusedField_NothingToDefine; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_UAV.gen.cs new file mode 100644 index 0000000000..0e154752d1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_UAV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2DMS_UAV +{ + /// + + public uint UnusedField_NothingToDefine; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_DSV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_DSV.gen.cs new file mode 100644 index 0000000000..ce6960c162 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_DSV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_ARRAY_DSV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_RTV.gen.cs new file mode 100644 index 0000000000..50aaeb7aa5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_RTV.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_ARRAY_RTV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; + + /// + + public uint PlaneSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_SRV.gen.cs new file mode 100644 index 0000000000..9084144415 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_SRV.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_ARRAY_SRV +{ + /// + + public uint MostDetailedMip; + + /// + + public uint MipLevels; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; + + /// + + public uint PlaneSlice; + + /// + + public float ResourceMinLODClamp; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_UAV.gen.cs new file mode 100644 index 0000000000..1d10427e88 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_UAV.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_ARRAY_UAV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstArraySlice; + + /// + + public uint ArraySize; + + /// + + public uint PlaneSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_DSV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_DSV.gen.cs new file mode 100644 index 0000000000..7f19d0bd04 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_DSV.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_DSV +{ + /// + + public uint MipSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_RTV.gen.cs new file mode 100644 index 0000000000..f1adfd189e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_RTV.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_RTV +{ + /// + + public uint MipSlice; + + /// + + public uint PlaneSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_SRV.gen.cs new file mode 100644 index 0000000000..8259cdd91a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_SRV.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_SRV +{ + /// + + public uint MostDetailedMip; + + /// + + public uint MipLevels; + + /// + + public uint PlaneSlice; + + /// + + public float ResourceMinLODClamp; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_UAV.gen.cs new file mode 100644 index 0000000000..1a4a4fa8f2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX2D_UAV.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX2D_UAV +{ + /// + + public uint MipSlice; + + /// + + public uint PlaneSlice; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_RTV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_RTV.gen.cs new file mode 100644 index 0000000000..cd4c38b79a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_RTV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX3D_RTV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstWSlice; + + /// + + public uint WSize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_SRV.gen.cs new file mode 100644 index 0000000000..1e2ce3e3c4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_SRV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX3D_SRV +{ + /// + + public uint MostDetailedMip; + + /// + + public uint MipLevels; + + /// + + public float ResourceMinLODClamp; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_UAV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_UAV.gen.cs new file mode 100644 index 0000000000..d0e0b7dc39 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEX3D_UAV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEX3D_UAV +{ + /// + + public uint MipSlice; + + /// + + public uint FirstWSlice; + + /// + + public uint WSize; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_ARRAY_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_ARRAY_SRV.gen.cs new file mode 100644 index 0000000000..5b818ff0c4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_ARRAY_SRV.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEXCUBE_ARRAY_SRV +{ + /// + + public uint MostDetailedMip; + + /// + + public uint MipLevels; + + /// + + public uint First2DArrayFace; + + /// + + public uint NumCubes; + + /// + + public float ResourceMinLODClamp; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_SRV.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_SRV.gen.cs new file mode 100644 index 0000000000..3bd70cdc26 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_SRV.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TEXCUBE_SRV +{ + /// + + public uint MostDetailedMip; + + /// + + public uint MipLevels; + + /// + + public float ResourceMinLODClamp; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_ADDRESS_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_ADDRESS_MODE.gen.cs new file mode 100644 index 0000000000..549608a98a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_ADDRESS_MODE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_TEXTURE_ADDRESS_MODE +{ + /// + + D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1, + + /// + + D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2, + + /// + + D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3, + + /// + + D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4, + + /// + + D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIER.gen.cs new file mode 100644 index 0000000000..51dba7476b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIER.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_TEXTURE_BARRIER +{ + /// + + public D3D12_BARRIER_SYNC SyncBefore; + + /// + + public D3D12_BARRIER_SYNC SyncAfter; + + /// + + public D3D12_BARRIER_ACCESS AccessBefore; + + /// + + public D3D12_BARRIER_ACCESS AccessAfter; + + /// + + public D3D12_BARRIER_LAYOUT LayoutBefore; + + /// + + public D3D12_BARRIER_LAYOUT LayoutAfter; + + /// + + public ID3D12Resource* pResource; + + /// + + public D3D12_BARRIER_SUBRESOURCE_RANGE Subresources; + + /// + + public D3D12_TEXTURE_BARRIER_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIER_FLAGS.gen.cs new file mode 100644 index 0000000000..ce31b68b80 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIER_FLAGS.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_TEXTURE_BARRIER_FLAGS +{ + /// + + D3D12_TEXTURE_BARRIER_FLAG_NONE = 0, + + /// + + D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_LOCATION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_LOCATION.gen.cs new file mode 100644 index 0000000000..5fac03367d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_LOCATION.gen.cs @@ -0,0 +1,59 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_TEXTURE_COPY_LOCATION +{ + /// + + public ID3D12Resource* pResource; + + /// + + public D3D12_TEXTURE_COPY_TYPE Type; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3036_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.PlacedFootprint; } + } + + /// + + [UnscopedRef] + public ref uint SubresourceIndex + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.SubresourceIndex; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint; + + /// + + [FieldOffset(0)] + public uint SubresourceIndex; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_TYPE.gen.cs new file mode 100644 index 0000000000..287928c12b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_TYPE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_TEXTURE_COPY_TYPE +{ + /// + + D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0, + + /// + + D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_LAYOUT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_LAYOUT.gen.cs new file mode 100644 index 0000000000..70d0acf8c1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_LAYOUT.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_TEXTURE_LAYOUT +{ + /// + + D3D12_TEXTURE_LAYOUT_UNKNOWN = 0, + + /// + + D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1, + + /// + + D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2, + + /// + + D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCES_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCES_TIER.gen.cs new file mode 100644 index 0000000000..06e17abd1c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCES_TIER.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_TILED_RESOURCES_TIER +{ + /// + + D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_TILED_RESOURCES_TIER_1 = 1, + + /// + + D3D12_TILED_RESOURCES_TIER_2 = 2, + + /// + + D3D12_TILED_RESOURCES_TIER_3 = 3, + + /// + + D3D12_TILED_RESOURCES_TIER_4 = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCE_COORDINATE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCE_COORDINATE.gen.cs new file mode 100644 index 0000000000..309af75d70 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCE_COORDINATE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TILED_RESOURCE_COORDINATE +{ + /// + + public uint X; + + /// + + public uint Y; + + /// + + public uint Z; + + /// + + public uint Subresource; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_COPY_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_COPY_FLAGS.gen.cs new file mode 100644 index 0000000000..df1ec01db8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_COPY_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_TILE_COPY_FLAGS +{ + /// + + D3D12_TILE_COPY_FLAG_NONE = 0, + + /// + + D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1, + + /// + + D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2, + + /// + + D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_MAPPING_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_MAPPING_FLAGS.gen.cs new file mode 100644 index 0000000000..039e236b6b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_MAPPING_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_TILE_MAPPING_FLAGS +{ + /// + + D3D12_TILE_MAPPING_FLAG_NONE = 0, + + /// + + D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_RANGE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_RANGE_FLAGS.gen.cs new file mode 100644 index 0000000000..66283f6aa4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_RANGE_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_TILE_RANGE_FLAGS +{ + /// + + D3D12_TILE_RANGE_FLAG_NONE = 0, + + /// + + D3D12_TILE_RANGE_FLAG_NULL = 1, + + /// + + D3D12_TILE_RANGE_FLAG_SKIP = 2, + + /// + + D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_REGION_SIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_REGION_SIZE.gen.cs new file mode 100644 index 0000000000..d39fa94ad4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_REGION_SIZE.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TILE_REGION_SIZE +{ + /// + + public uint NumTiles; + + /// + + public BOOL UseBox; + + /// + + public uint Width; + + /// + + [NativeTypeName("UINT16")] + public ushort Height; + + /// + + [NativeTypeName("UINT16")] + public ushort Depth; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_SHAPE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_SHAPE.gen.cs new file mode 100644 index 0000000000..45410ba871 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TILE_SHAPE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_TILE_SHAPE +{ + /// + + public uint WidthInTexels; + + /// + + public uint HeightInTexels; + + /// + + public uint DepthInTexels; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_TRI_STATE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_TRI_STATE.gen.cs new file mode 100644 index 0000000000..959cc3dcb6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_TRI_STATE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_TRI_STATE +{ + /// + + D3D12_TRI_STATE_UNKNOWN = -1, + + /// + + D3D12_TRI_STATE_FALSE = 0, + + /// + + D3D12_TRI_STATE_TRUE = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_UAV_DIMENSION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_UAV_DIMENSION.gen.cs new file mode 100644 index 0000000000..b80d6bdcaa --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_UAV_DIMENSION.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_UAV_DIMENSION +{ + /// + + D3D12_UAV_DIMENSION_UNKNOWN = 0, + + /// + + D3D12_UAV_DIMENSION_BUFFER = 1, + + /// + + D3D12_UAV_DIMENSION_TEXTURE1D = 2, + + /// + + D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3, + + /// + + D3D12_UAV_DIMENSION_TEXTURE2D = 4, + + /// + + D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5, + + /// + + D3D12_UAV_DIMENSION_TEXTURE2DMS = 6, + + /// + + D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY = 7, + + /// + + D3D12_UAV_DIMENSION_TEXTURE3D = 8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_UNORDERED_ACCESS_VIEW_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_UNORDERED_ACCESS_VIEW_DESC.gen.cs new file mode 100644 index 0000000000..2f458971c7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_UNORDERED_ACCESS_VIEW_DESC.gen.cs @@ -0,0 +1,143 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_UNORDERED_ACCESS_VIEW_DESC +{ + /// + + public DXGI_FORMAT Format; + + /// + + public D3D12_UAV_DIMENSION ViewDimension; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3468_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_BUFFER_UAV Buffer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Buffer; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_UAV Texture1D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX1D_ARRAY_UAV Texture1DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture1DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_UAV Texture2D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2D; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2D_ARRAY_UAV Texture2DArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_UAV Texture2DMS + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMS; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture2DMSArray; } + } + + /// + + [UnscopedRef] + public ref D3D12_TEX3D_UAV Texture3D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Texture3D; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_BUFFER_UAV Buffer; + + /// + + [FieldOffset(0)] + public D3D12_TEX1D_UAV Texture1D; + + /// + + [FieldOffset(0)] + public D3D12_TEX1D_ARRAY_UAV Texture1DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_UAV Texture2D; + + /// + + [FieldOffset(0)] + public D3D12_TEX2D_ARRAY_UAV Texture2DArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_UAV Texture2DMS; + + /// + + [FieldOffset(0)] + public D3D12_TEX2DMS_ARRAY_UAV Texture2DMSArray; + + /// + + [FieldOffset(0)] + public D3D12_TEX3D_UAV Texture3D; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VARIABLE_SHADING_RATE_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VARIABLE_SHADING_RATE_TIER.gen.cs new file mode 100644 index 0000000000..89bea26acc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VARIABLE_SHADING_RATE_TIER.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VARIABLE_SHADING_RATE_TIER +{ + /// + + D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_VARIABLE_SHADING_RATE_TIER_1 = 1, + + /// + + D3D12_VARIABLE_SHADING_RATE_TIER_2 = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA.gen.cs new file mode 100644 index 0000000000..bfa3265fb8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA.gen.cs @@ -0,0 +1,83 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA +{ + /// + + public D3D12_DRED_VERSION Version; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L14958_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Dred_1_0; } + } + + /// + + [UnscopedRef] + public ref D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Dred_1_1; } + } + + /// + + [UnscopedRef] + public ref D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Dred_1_2; } + } + + /// + + [UnscopedRef] + public ref D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Dred_1_3; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0; + + /// + + [FieldOffset(0)] + public D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1; + + /// + + [FieldOffset(0)] + public D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2; + + /// + + [FieldOffset(0)] + public D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_ROOT_SIGNATURE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_ROOT_SIGNATURE_DESC.gen.cs new file mode 100644 index 0000000000..aec5e5e48f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_ROOT_SIGNATURE_DESC.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC +{ + /// + + public D3D_ROOT_SIGNATURE_VERSION Version; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12_L3874_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_ROOT_SIGNATURE_DESC Desc_1_0 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Desc_1_0; } + } + + /// + + [UnscopedRef] + public ref D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.Desc_1_1; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_ROOT_SIGNATURE_DESC Desc_1_0; + + /// + + [FieldOffset(0)] + public D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VERTEX_BUFFER_VIEW.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VERTEX_BUFFER_VIEW.gen.cs new file mode 100644 index 0000000000..af8e4f8ddf --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VERTEX_BUFFER_VIEW.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VERTEX_BUFFER_VIEW +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong BufferLocation; + + /// + + public uint SizeInBytes; + + /// + + public uint StrideInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VIEWPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEWPORT.gen.cs new file mode 100644 index 0000000000..e21973727b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEWPORT.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIEWPORT +{ + /// + + public float TopLeftX; + + /// + + public float TopLeftY; + + /// + + public float Width; + + /// + + public float Height; + + /// + + public float MinDepth; + + /// + + public float MaxDepth; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCE_LOCATION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCE_LOCATION.gen.cs new file mode 100644 index 0000000000..5b3e4661df --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCE_LOCATION.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIEW_INSTANCE_LOCATION +{ + /// + + public uint ViewportArrayIndex; + + /// + + public uint RenderTargetArrayIndex; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_DESC.gen.cs new file mode 100644 index 0000000000..24b0c26da0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_DESC.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIEW_INSTANCING_DESC +{ + /// + + public uint ViewInstanceCount; + + /// + + [NativeTypeName("const D3D12_VIEW_INSTANCE_LOCATION *")] + public D3D12_VIEW_INSTANCE_LOCATION* pViewInstanceLocations; + + /// + + public D3D12_VIEW_INSTANCING_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_FLAGS.gen.cs new file mode 100644 index 0000000000..9f1c255475 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIEW_INSTANCING_FLAGS +{ + /// + + D3D12_VIEW_INSTANCING_FLAG_NONE = 0, + + /// + + D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_TIER.gen.cs new file mode 100644 index 0000000000..85f1818118 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_TIER.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIEW_INSTANCING_TIER +{ + /// + + D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_VIEW_INSTANCING_TIER_1 = 1, + + /// + + D3D12_VIEW_INSTANCING_TIER_2 = 2, + + /// + + D3D12_VIEW_INSTANCING_TIER_3 = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_WAVE_MMA_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_WAVE_MMA_TIER.gen.cs new file mode 100644 index 0000000000..5759bc282e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_WAVE_MMA_TIER.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_WAVE_MMA_TIER +{ + /// + + D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_WAVE_MMA_TIER_1_0 = 10, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_MODE.gen.cs new file mode 100644 index 0000000000..c4716afc2c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_MODE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_WRITEBUFFERIMMEDIATE_MODE +{ + /// + + D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0, + + /// + + D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1, + + /// + + D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_PARAMETER.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_PARAMETER.gen.cs new file mode 100644 index 0000000000..30d8ec8155 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_PARAMETER.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER +{ + /// + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong Dest; + + /// + + [NativeTypeName("UINT32")] + public uint Value; +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D_ROOT_SIGNATURE_VERSION.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D_ROOT_SIGNATURE_VERSION.gen.cs new file mode 100644 index 0000000000..a019bad7ec --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D_ROOT_SIGNATURE_VERSION.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_ROOT_SIGNATURE_VERSION +{ + /// + + D3D_ROOT_SIGNATURE_VERSION_1 = 0x1, + + /// + + D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1, + + /// + + D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12/D3D_SHADER_MODEL.gen.cs b/sources/Windows/DirectX/headers/d3d12/D3D_SHADER_MODEL.gen.cs new file mode 100644 index 0000000000..f14a4062c6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/D3D_SHADER_MODEL.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_SHADER_MODEL +{ + /// + + D3D_SHADER_MODEL_5_1 = 0x51, + + /// + + D3D_SHADER_MODEL_6_0 = 0x60, + + /// + + D3D_SHADER_MODEL_6_1 = 0x61, + + /// + + D3D_SHADER_MODEL_6_2 = 0x62, + + /// + + D3D_SHADER_MODEL_6_3 = 0x63, + + /// + + D3D_SHADER_MODEL_6_4 = 0x64, + + /// + + D3D_SHADER_MODEL_6_5 = 0x65, + + /// + + D3D_SHADER_MODEL_6_6 = 0x66, + + /// + + D3D_SHADER_MODEL_6_7 = 0x67, + + /// + + D3D_SHADER_MODEL_6_8 = 0x68, + + /// + + D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_8, +} diff --git a/sources/Windows/DirectX/headers/d3d12/DirectX.gen.cs b/sources/Windows/DirectX/headers/d3d12/DirectX.gen.cs new file mode 100644 index 0000000000..97cb4b4597 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/DirectX.gen.cs @@ -0,0 +1,61 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static unsafe partial class DirectX +{ + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12SerializeRootSignature([NativeTypeName("const D3D12_ROOT_SIGNATURE_DESC *")] D3D12_ROOT_SIGNATURE_DESC* pRootSignature, D3D_ROOT_SIGNATURE_VERSION Version, ID3DBlob** ppBlob, ID3DBlob** ppErrorBlob); + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12CreateRootSignatureDeserializer([NativeTypeName("LPCVOID")] void* pSrcData, [NativeTypeName("SIZE_T")] nuint SrcDataSizeInBytes, [NativeTypeName("const IID &")] Guid* pRootSignatureDeserializerInterface, void** ppRootSignatureDeserializer); + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12SerializeVersionedRootSignature([NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *")] D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature, ID3DBlob** ppBlob, ID3DBlob** ppErrorBlob); + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12CreateVersionedRootSignatureDeserializer([NativeTypeName("LPCVOID")] void* pSrcData, [NativeTypeName("SIZE_T")] nuint SrcDataSizeInBytes, [NativeTypeName("const IID &")] Guid* pRootSignatureDeserializerInterface, void** ppRootSignatureDeserializer); + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12CreateDevice(IUnknown* pAdapter, D3D_FEATURE_LEVEL MinimumFeatureLevel, [NativeTypeName("const IID &")] Guid* riid, void** ppDevice); + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12GetDebugInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvDebug); + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12EnableExperimentalFeatures(uint NumFeatures, [NativeTypeName("const IID *")] Guid* pIIDs, void* pConfigurationStructs, uint* pConfigurationStructSizes); + [NativeTypeName("const UUID")] + public static ref readonly Guid D3D12ExperimentalShaderModels + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x3E, 0x57, 0xF5, 0x76, 0x3A, 0xF1, 0xF5, 0x40, 0xB2, 0x97, 0x81, 0xCE, 0x9E, 0x18, 0x93, 0x3F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const UUID")] + public static ref readonly Guid D3D12TiledResourceTier4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x5F, 0x72, 0xC4, 0xC9, 0x1A, 0xA8, 0x56, 0x4F, 0x8C, 0x5B, 0xC5, 0x10, 0x39, 0xD6, 0x94, 0xFB]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + /// + [DllImport("d3d12", ExactSpelling = true)] + public static extern HRESULT D3D12GetInterface([NativeTypeName("const IID &")] Guid* rclsid, [NativeTypeName("const IID &")] Guid* riid, void** ppvDebug); +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12CommandAllocator.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandAllocator.gen.cs new file mode 100644 index 0000000000..7fa648c16b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandAllocator.gen.cs @@ -0,0 +1,180 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("6102DEE4-AF59-4B09-B999-B44D73F09B24")] +[NativeTypeName("struct ID3D12CommandAllocator : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12CommandAllocator : ID3D12CommandAllocator.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12CommandAllocator)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12CommandAllocator*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT Reset() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12CommandAllocator*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + HRESULT Reset(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Reset; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12CommandList.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandList.gen.cs new file mode 100644 index 0000000000..176a2b2f46 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandList.gen.cs @@ -0,0 +1,183 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("7116D91C-E7E4-47CE-B8C6-EC8168F437E5")] +[NativeTypeName("struct ID3D12CommandList : ID3D12DeviceChild")] +[NativeInheritance("ID3D12DeviceChild")] +public unsafe partial struct ID3D12CommandList : ID3D12CommandList.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12CommandList)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12CommandList*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : ID3D12DeviceChild.Interface + { + [VtblIndex(8)] + D3D12_COMMAND_LIST_TYPE GetType(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12CommandQueue.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandQueue.gen.cs new file mode 100644 index 0000000000..3d4c5b2e33 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandQueue.gen.cs @@ -0,0 +1,495 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("0EC870A6-5D7E-4C22-8CFC-5BAAE07616ED")] +[NativeTypeName("struct ID3D12CommandQueue : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12CommandQueue : ID3D12CommandQueue.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12CommandQueue)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void UpdateTileMappings( + ID3D12Resource* pResource, + uint NumResourceRegions, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pResourceRegionStartCoordinates, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] + D3D12_TILE_REGION_SIZE* pResourceRegionSizes, + ID3D12Heap* pHeap, + uint NumRanges, + [NativeTypeName("const D3D12_TILE_RANGE_FLAGS *")] D3D12_TILE_RANGE_FLAGS* pRangeFlags, + [NativeTypeName("const UINT *")] uint* pHeapRangeStartOffsets, + [NativeTypeName("const UINT *")] uint* pRangeTileCounts, + D3D12_TILE_MAPPING_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12CommandQueue*, + ID3D12Resource*, + uint, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Heap*, + uint, + D3D12_TILE_RANGE_FLAGS*, + uint*, + uint*, + D3D12_TILE_MAPPING_FLAGS, + void>)(lpVtbl[8]) + )( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + pResource, + NumResourceRegions, + pResourceRegionStartCoordinates, + pResourceRegionSizes, + pHeap, + NumRanges, + pRangeFlags, + pHeapRangeStartOffsets, + pRangeTileCounts, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void CopyTileMappings( + ID3D12Resource* pDstResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pDstRegionStartCoordinate, + ID3D12Resource* pSrcResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pSrcRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pRegionSize, + D3D12_TILE_MAPPING_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12CommandQueue*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + D3D12_TILE_MAPPING_FLAGS, + void>)(lpVtbl[9]) + )( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + pDstResource, + pDstRegionStartCoordinate, + pSrcResource, + pSrcRegionStartCoordinate, + pRegionSize, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void ExecuteCommandLists( + uint NumCommandLists, + [NativeTypeName("ID3D12CommandList *const *")] ID3D12CommandList** ppCommandLists + ) + { + ((delegate* unmanaged)(lpVtbl[10]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + NumCommandLists, + ppCommandLists + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[12]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT Signal(ID3D12Fence* pFence, [NativeTypeName("UINT64")] ulong Value) + { + return ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + pFence, + Value + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HRESULT Wait(ID3D12Fence* pFence, [NativeTypeName("UINT64")] ulong Value) + { + return ((delegate* unmanaged)(lpVtbl[15]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + pFence, + Value + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT GetTimestampFrequency([NativeTypeName("UINT64 *")] ulong* pFrequency) + { + return ((delegate* unmanaged)(lpVtbl[16]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + pFrequency + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HRESULT GetClockCalibration( + [NativeTypeName("UINT64 *")] ulong* pGpuTimestamp, + [NativeTypeName("UINT64 *")] ulong* pCpuTimestamp + ) + { + return ((delegate* unmanaged)(lpVtbl[17]))( + (ID3D12CommandQueue*)Unsafe.AsPointer(ref this), + pGpuTimestamp, + pCpuTimestamp + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public D3D12_COMMAND_QUEUE_DESC GetDesc() + { + D3D12_COMMAND_QUEUE_DESC result; + return *( + (delegate* unmanaged< + ID3D12CommandQueue*, + D3D12_COMMAND_QUEUE_DESC*, + D3D12_COMMAND_QUEUE_DESC*>)(lpVtbl[18]) + )((ID3D12CommandQueue*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + void UpdateTileMappings( + ID3D12Resource* pResource, + uint NumResourceRegions, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pResourceRegionStartCoordinates, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] + D3D12_TILE_REGION_SIZE* pResourceRegionSizes, + ID3D12Heap* pHeap, + uint NumRanges, + [NativeTypeName("const D3D12_TILE_RANGE_FLAGS *")] D3D12_TILE_RANGE_FLAGS* pRangeFlags, + [NativeTypeName("const UINT *")] uint* pHeapRangeStartOffsets, + [NativeTypeName("const UINT *")] uint* pRangeTileCounts, + D3D12_TILE_MAPPING_FLAGS Flags + ); + + [VtblIndex(9)] + void CopyTileMappings( + ID3D12Resource* pDstResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pDstRegionStartCoordinate, + ID3D12Resource* pSrcResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pSrcRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pRegionSize, + D3D12_TILE_MAPPING_FLAGS Flags + ); + + [VtblIndex(10)] + void ExecuteCommandLists( + uint NumCommandLists, + [NativeTypeName("ID3D12CommandList *const *")] ID3D12CommandList** ppCommandLists + ); + + [VtblIndex(11)] + void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(12)] + void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(13)] + void EndEvent(); + + [VtblIndex(14)] + HRESULT Signal(ID3D12Fence* pFence, [NativeTypeName("UINT64")] ulong Value); + + [VtblIndex(15)] + HRESULT Wait(ID3D12Fence* pFence, [NativeTypeName("UINT64")] ulong Value); + + [VtblIndex(16)] + HRESULT GetTimestampFrequency([NativeTypeName("UINT64 *")] ulong* pFrequency); + + [VtblIndex(17)] + HRESULT GetClockCalibration( + [NativeTypeName("UINT64 *")] ulong* pGpuTimestamp, + [NativeTypeName("UINT64 *")] ulong* pCpuTimestamp + ); + + [VtblIndex(18)] + D3D12_COMMAND_QUEUE_DESC GetDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Heap *, UINT, const D3D12_TILE_RANGE_FLAGS *, const UINT *, const UINT *, D3D12_TILE_MAPPING_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Heap*, + uint, + D3D12_TILE_RANGE_FLAGS*, + uint*, + uint*, + D3D12_TILE_MAPPING_FLAGS, + void> UpdateTileMappings; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, D3D12_TILE_MAPPING_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + D3D12_TILE_MAPPING_FLAGS, + void> CopyTileMappings; + + [NativeTypeName("void (UINT, ID3D12CommandList *const *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteCommandLists; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName("HRESULT (ID3D12Fence *, UINT64) __attribute__((stdcall))")] + public delegate* unmanaged Signal; + + [NativeTypeName("HRESULT (ID3D12Fence *, UINT64) __attribute__((stdcall))")] + public delegate* unmanaged Wait; + + [NativeTypeName("HRESULT (UINT64 *) __attribute__((stdcall))")] + public delegate* unmanaged GetTimestampFrequency; + + [NativeTypeName("HRESULT (UINT64 *, UINT64 *) __attribute__((stdcall))")] + public delegate* unmanaged GetClockCalibration; + + [NativeTypeName("D3D12_COMMAND_QUEUE_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + D3D12_COMMAND_QUEUE_DESC*> GetDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12CommandSignature.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandSignature.gen.cs new file mode 100644 index 0000000000..fffd46cbf5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12CommandSignature.gen.cs @@ -0,0 +1,162 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C36A797C-EC80-4F0A-8985-A7B2475082D1")] +[NativeTypeName("struct ID3D12CommandSignature : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12CommandSignature : ID3D12CommandSignature.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12CommandSignature)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12CommandSignature*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12CommandSignature*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12CommandSignature*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12CommandSignature*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12CommandSignature*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12CommandSignature*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12CommandSignature*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12CommandSignature*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + public interface Interface : ID3D12Pageable.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DescriptorHeap.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DescriptorHeap.gen.cs new file mode 100644 index 0000000000..66c6574211 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DescriptorHeap.gen.cs @@ -0,0 +1,238 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8EFB471D-616C-4F49-90F7-127BB763FA51")] +[NativeTypeName("struct ID3D12DescriptorHeap : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12DescriptorHeap : ID3D12DescriptorHeap.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DescriptorHeap)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_DESCRIPTOR_HEAP_DESC GetDesc() + { + D3D12_DESCRIPTOR_HEAP_DESC result; + return *( + (delegate* unmanaged< + ID3D12DescriptorHeap*, + D3D12_DESCRIPTOR_HEAP_DESC*, + D3D12_DESCRIPTOR_HEAP_DESC*>)(lpVtbl[8]) + )((ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandleForHeapStart() + { + D3D12_CPU_DESCRIPTOR_HANDLE result; + return *( + (delegate* unmanaged< + ID3D12DescriptorHeap*, + D3D12_CPU_DESCRIPTOR_HANDLE*, + D3D12_CPU_DESCRIPTOR_HANDLE*>)(lpVtbl[9]) + )((ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_GPU_DESCRIPTOR_HANDLE GetGPUDescriptorHandleForHeapStart() + { + D3D12_GPU_DESCRIPTOR_HANDLE result; + return *( + (delegate* unmanaged< + ID3D12DescriptorHeap*, + D3D12_GPU_DESCRIPTOR_HANDLE*, + D3D12_GPU_DESCRIPTOR_HANDLE*>)(lpVtbl[10]) + )((ID3D12DescriptorHeap*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + D3D12_DESCRIPTOR_HEAP_DESC GetDesc(); + + [VtblIndex(9)] + D3D12_CPU_DESCRIPTOR_HANDLE GetCPUDescriptorHandleForHeapStart(); + + [VtblIndex(10)] + D3D12_GPU_DESCRIPTOR_HANDLE GetGPUDescriptorHandleForHeapStart(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_DESCRIPTOR_HEAP_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + D3D12_DESCRIPTOR_HEAP_DESC*> GetDesc; + + [NativeTypeName("D3D12_CPU_DESCRIPTOR_HANDLE () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE*, + D3D12_CPU_DESCRIPTOR_HANDLE*> GetCPUDescriptorHandleForHeapStart; + + [NativeTypeName("D3D12_GPU_DESCRIPTOR_HANDLE () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE*, + D3D12_GPU_DESCRIPTOR_HANDLE*> GetGPUDescriptorHandleForHeapStart; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device.gen.cs new file mode 100644 index 0000000000..b6fd2a3106 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device.gen.cs @@ -0,0 +1,1579 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("189819F1-1DB6-4B57-BE54-1821339B85F7")] +[NativeTypeName("struct ID3D12Device : ID3D12Object")] +[NativeInheritance("ID3D12Object")] +public unsafe partial struct ID3D12Device : ID3D12Device.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ((delegate* unmanaged)(lpVtbl[15]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + DescriptorHeapType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)(lpVtbl[16]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device*)Unsafe.AsPointer(ref this), + &result + ); + } + + public interface Interface : ID3D12Object.Interface + { + [VtblIndex(7)] + uint GetNodeCount(); + + [VtblIndex(8)] + HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ); + + [VtblIndex(9)] + HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ); + + [VtblIndex(10)] + HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ); + + [VtblIndex(11)] + HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ); + + [VtblIndex(12)] + HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ); + + [VtblIndex(13)] + HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ); + + [VtblIndex(14)] + HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ); + + [VtblIndex(15)] + uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType); + + [VtblIndex(16)] + HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ); + + [VtblIndex(17)] + void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + + [VtblIndex(18)] + void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + + [VtblIndex(19)] + void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + + [VtblIndex(20)] + void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + + [VtblIndex(21)] + void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + + [VtblIndex(22)] + void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + + [VtblIndex(23)] + void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ); + + [VtblIndex(24)] + void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ); + + [VtblIndex(25)] + D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ); + + [VtblIndex(26)] + D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType); + + [VtblIndex(27)] + HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ); + + [VtblIndex(28)] + HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ); + + [VtblIndex(29)] + HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ); + + [VtblIndex(30)] + HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ); + + [VtblIndex(31)] + HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ); + + [VtblIndex(32)] + HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ); + + [VtblIndex(33)] + HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ); + + [VtblIndex(34)] + HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ); + + [VtblIndex(35)] + HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ); + + [VtblIndex(36)] + HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ); + + [VtblIndex(37)] + HRESULT GetDeviceRemovedReason(); + + [VtblIndex(38)] + void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ); + + [VtblIndex(39)] + HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ); + + [VtblIndex(40)] + HRESULT SetStablePowerState(BOOL Enable); + + [VtblIndex(41)] + HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ); + + [VtblIndex(42)] + void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ); + + [VtblIndex(43)] + LUID GetAdapterLuid(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device1.gen.cs new file mode 100644 index 0000000000..3899b236a9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device1.gen.cs @@ -0,0 +1,1428 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("77ACCE80-638E-4E65-8895-C1F23386863E")] +[NativeTypeName("struct ID3D12Device1 : ID3D12Device")] +[NativeInheritance("ID3D12Device")] +public unsafe partial struct ID3D12Device1 : ID3D12Device1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device1*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device1*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device1*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + public interface Interface : ID3D12Device.Interface + { + [VtblIndex(44)] + HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ); + + [VtblIndex(45)] + HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ); + + [VtblIndex(46)] + HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] + D3D12_RESIDENCY_PRIORITY* pPriorities + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device10.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device10.gen.cs new file mode 100644 index 0000000000..dd8d9d170f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device10.gen.cs @@ -0,0 +1,2653 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("517F8718-AA66-49F9-B02B-A7AB89C06031")] +[NativeTypeName("struct ID3D12Device10 : ID3D12Device9")] +[NativeInheritance("ID3D12Device9")] +public unsafe partial struct ID3D12Device10 : ID3D12Device10.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device10)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ( + (delegate* unmanaged)(lpVtbl[13]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[57] + ) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pOwner, riid, ppvTracker); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void RemoveDevice() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12Device10*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs) + { + return ( + (delegate* unmanaged)(lpVtbl[59]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pNumMetaCommands, pDescs); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int>)(lpVtbl[60]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + CommandId, + Stage, + pTotalStructureSizeInBytes, + pParameterCount, + pParameterDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[61] + ) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + CommandId, + NodeMask, + pCreationParametersData, + CreationParametersDataSizeInBytes, + riid, + ppMetaCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[62] + ) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppStateObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void>)(lpVtbl[63]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, pInfo); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS>)(lpVtbl[64]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), SerializedDataType, pIdentifierToCheck); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HRESULT SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE Mode, + D3D12_MEASUREMENTS_ACTION MeasurementsAction, + HANDLE hEventToSignalUponCompletion, + BOOL* pbFurtherMeasurementsDesired + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int>)(lpVtbl[65]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + Mode, + MeasurementsAction, + hEventToSignalUponCompletion, + pbFurtherMeasurementsDesired + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HRESULT AddToStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pAddition, + ID3D12StateObject* pStateObjectToGrowFrom, + [NativeTypeName("const IID &")] Guid* riid, + void** ppNewStateObject + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int>)(lpVtbl[66]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pAddition, + pStateObjectToGrowFrom, + riid, + ppNewStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HRESULT CreateProtectedResourceSession1( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int>)(lpVtbl[67]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[68]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public HRESULT CreateCommittedResource2( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[69]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public HRESULT CreatePlacedResource1( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[70]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void CreateSamplerFeedbackUnorderedAccessView( + ID3D12Resource* pTargetedResource, + ID3D12Resource* pFeedbackResource, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[71]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pTargetedResource, + pFeedbackResource, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void GetCopyableFootprints1( + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[72]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public HRESULT CreateShaderCacheSession( + [NativeTypeName("const D3D12_SHADER_CACHE_SESSION_DESC *")] + D3D12_SHADER_CACHE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_SHADER_CACHE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[73]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, riid, ppvSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public HRESULT ShaderCacheControl( + D3D12_SHADER_CACHE_KIND_FLAGS Kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS Control + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_SHADER_CACHE_KIND_FLAGS, + D3D12_SHADER_CACHE_CONTROL_FLAGS, + int>)(lpVtbl[74]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), Kinds, Control); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public HRESULT CreateCommandQueue1( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* CreatorID, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + Guid*, + void**, + int>)(lpVtbl[75]) + )((ID3D12Device10*)Unsafe.AsPointer(ref this), pDesc, CreatorID, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public HRESULT CreateCommittedResource3( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int>)(lpVtbl[76]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialLayout, + pOptimizedClearValue, + pProtectedSession, + NumCastableFormats, + pCastableFormats, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public HRESULT CreatePlacedResource2( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int>)(lpVtbl[77]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialLayout, + pOptimizedClearValue, + NumCastableFormats, + pCastableFormats, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public HRESULT CreateReservedResource2( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device10*, + D3D12_RESOURCE_DESC*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int>)(lpVtbl[78]) + )( + (ID3D12Device10*)Unsafe.AsPointer(ref this), + pDesc, + InitialLayout, + pOptimizedClearValue, + pProtectedSession, + NumCastableFormats, + pCastableFormats, + riid, + ppvResource + ); + } + + public interface Interface : ID3D12Device9.Interface + { + [VtblIndex(76)] + HRESULT CreateCommittedResource3( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ); + + [VtblIndex(77)] + HRESULT CreatePlacedResource2( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ); + + [VtblIndex(78)] + HRESULT CreateReservedResource2( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + + [NativeTypeName( + "HRESULT (ID3D12LifetimeOwner *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12LifetimeOwner*, + Guid*, + void**, + int> CreateLifetimeTracker; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged RemoveDevice; + + [NativeTypeName("HRESULT (UINT *, D3D12_META_COMMAND_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint*, + D3D12_META_COMMAND_DESC*, + int> EnumerateMetaCommands; + + [NativeTypeName( + "HRESULT (const GUID &, D3D12_META_COMMAND_PARAMETER_STAGE, UINT *, UINT *, D3D12_META_COMMAND_PARAMETER_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int> EnumerateMetaCommandParameters; + + [NativeTypeName( + "HRESULT (const GUID &, UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateMetaCommand; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + Guid*, + void**, + int> CreateStateObject; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void> GetRaytracingAccelerationStructurePrebuildInfo; + + [NativeTypeName( + "D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (D3D12_SERIALIZED_DATA_TYPE, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS> CheckDriverMatchingIdentifier; + + [NativeTypeName( + "HRESULT (D3D12_BACKGROUND_PROCESSING_MODE, D3D12_MEASUREMENTS_ACTION, HANDLE, BOOL *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int> SetBackgroundProcessingMode; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, ID3D12StateObject *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int> AddToStateObject; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int> CreateProtectedResourceSession1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo2; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource2; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource1; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSamplerFeedbackUnorderedAccessView; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC1 *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints1; + + [NativeTypeName( + "HRESULT (const D3D12_SHADER_CACHE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADER_CACHE_SESSION_DESC*, + Guid*, + void**, + int> CreateShaderCacheSession; + + [NativeTypeName( + "HRESULT (D3D12_SHADER_CACHE_KIND_FLAGS, D3D12_SHADER_CACHE_CONTROL_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADER_CACHE_KIND_FLAGS, + D3D12_SHADER_CACHE_CONTROL_FLAGS, + int> ShaderCacheControl; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + Guid*, + void**, + int> CreateCommandQueue1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC1 *, D3D12_BARRIER_LAYOUT, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, UINT32, DXGI_FORMAT *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int> CreateCommittedResource3; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC1 *, D3D12_BARRIER_LAYOUT, const D3D12_CLEAR_VALUE *, UINT32, DXGI_FORMAT *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int> CreatePlacedResource2; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_BARRIER_LAYOUT, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, UINT32, DXGI_FORMAT *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int> CreateReservedResource2; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device11.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device11.gen.cs new file mode 100644 index 0000000000..3a57924504 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device11.gen.cs @@ -0,0 +1,2646 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("5405C344-D457-444E-B4DD-2366E45AEE39")] +[NativeTypeName("struct ID3D12Device11 : ID3D12Device10")] +[NativeInheritance("ID3D12Device10")] +public unsafe partial struct ID3D12Device11 : ID3D12Device11.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device11)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ( + (delegate* unmanaged)(lpVtbl[13]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[57] + ) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pOwner, riid, ppvTracker); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void RemoveDevice() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12Device11*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs) + { + return ( + (delegate* unmanaged)(lpVtbl[59]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pNumMetaCommands, pDescs); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int>)(lpVtbl[60]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + CommandId, + Stage, + pTotalStructureSizeInBytes, + pParameterCount, + pParameterDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[61] + ) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + CommandId, + NodeMask, + pCreationParametersData, + CreationParametersDataSizeInBytes, + riid, + ppMetaCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[62] + ) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppStateObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void>)(lpVtbl[63]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, pInfo); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS>)(lpVtbl[64]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), SerializedDataType, pIdentifierToCheck); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HRESULT SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE Mode, + D3D12_MEASUREMENTS_ACTION MeasurementsAction, + HANDLE hEventToSignalUponCompletion, + BOOL* pbFurtherMeasurementsDesired + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int>)(lpVtbl[65]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + Mode, + MeasurementsAction, + hEventToSignalUponCompletion, + pbFurtherMeasurementsDesired + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HRESULT AddToStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pAddition, + ID3D12StateObject* pStateObjectToGrowFrom, + [NativeTypeName("const IID &")] Guid* riid, + void** ppNewStateObject + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int>)(lpVtbl[66]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pAddition, + pStateObjectToGrowFrom, + riid, + ppNewStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HRESULT CreateProtectedResourceSession1( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int>)(lpVtbl[67]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[68]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public HRESULT CreateCommittedResource2( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[69]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public HRESULT CreatePlacedResource1( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[70]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void CreateSamplerFeedbackUnorderedAccessView( + ID3D12Resource* pTargetedResource, + ID3D12Resource* pFeedbackResource, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[71]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pTargetedResource, + pFeedbackResource, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void GetCopyableFootprints1( + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[72]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public HRESULT CreateShaderCacheSession( + [NativeTypeName("const D3D12_SHADER_CACHE_SESSION_DESC *")] + D3D12_SHADER_CACHE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_SHADER_CACHE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[73]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, riid, ppvSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public HRESULT ShaderCacheControl( + D3D12_SHADER_CACHE_KIND_FLAGS Kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS Control + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_SHADER_CACHE_KIND_FLAGS, + D3D12_SHADER_CACHE_CONTROL_FLAGS, + int>)(lpVtbl[74]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), Kinds, Control); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public HRESULT CreateCommandQueue1( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* CreatorID, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + Guid*, + void**, + int>)(lpVtbl[75]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, CreatorID, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public HRESULT CreateCommittedResource3( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int>)(lpVtbl[76]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialLayout, + pOptimizedClearValue, + pProtectedSession, + NumCastableFormats, + pCastableFormats, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public HRESULT CreatePlacedResource2( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int>)(lpVtbl[77]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialLayout, + pOptimizedClearValue, + NumCastableFormats, + pCastableFormats, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public HRESULT CreateReservedResource2( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_BARRIER_LAYOUT InitialLayout, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("UINT32")] uint NumCastableFormats, + DXGI_FORMAT* pCastableFormats, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_RESOURCE_DESC*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int>)(lpVtbl[78]) + )( + (ID3D12Device11*)Unsafe.AsPointer(ref this), + pDesc, + InitialLayout, + pOptimizedClearValue, + pProtectedSession, + NumCastableFormats, + pCastableFormats, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void CreateSampler2( + [NativeTypeName("const D3D12_SAMPLER_DESC2 *")] D3D12_SAMPLER_DESC2* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device11*, + D3D12_SAMPLER_DESC2*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[79]) + )((ID3D12Device11*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + public interface Interface : ID3D12Device10.Interface + { + [VtblIndex(79)] + void CreateSampler2( + [NativeTypeName("const D3D12_SAMPLER_DESC2 *")] D3D12_SAMPLER_DESC2* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + + [NativeTypeName( + "HRESULT (ID3D12LifetimeOwner *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12LifetimeOwner*, + Guid*, + void**, + int> CreateLifetimeTracker; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged RemoveDevice; + + [NativeTypeName("HRESULT (UINT *, D3D12_META_COMMAND_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint*, + D3D12_META_COMMAND_DESC*, + int> EnumerateMetaCommands; + + [NativeTypeName( + "HRESULT (const GUID &, D3D12_META_COMMAND_PARAMETER_STAGE, UINT *, UINT *, D3D12_META_COMMAND_PARAMETER_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int> EnumerateMetaCommandParameters; + + [NativeTypeName( + "HRESULT (const GUID &, UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateMetaCommand; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + Guid*, + void**, + int> CreateStateObject; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void> GetRaytracingAccelerationStructurePrebuildInfo; + + [NativeTypeName( + "D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (D3D12_SERIALIZED_DATA_TYPE, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS> CheckDriverMatchingIdentifier; + + [NativeTypeName( + "HRESULT (D3D12_BACKGROUND_PROCESSING_MODE, D3D12_MEASUREMENTS_ACTION, HANDLE, BOOL *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int> SetBackgroundProcessingMode; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, ID3D12StateObject *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int> AddToStateObject; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int> CreateProtectedResourceSession1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo2; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource2; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource1; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSamplerFeedbackUnorderedAccessView; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC1 *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints1; + + [NativeTypeName( + "HRESULT (const D3D12_SHADER_CACHE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADER_CACHE_SESSION_DESC*, + Guid*, + void**, + int> CreateShaderCacheSession; + + [NativeTypeName( + "HRESULT (D3D12_SHADER_CACHE_KIND_FLAGS, D3D12_SHADER_CACHE_CONTROL_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADER_CACHE_KIND_FLAGS, + D3D12_SHADER_CACHE_CONTROL_FLAGS, + int> ShaderCacheControl; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + Guid*, + void**, + int> CreateCommandQueue1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC1 *, D3D12_BARRIER_LAYOUT, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, UINT32, DXGI_FORMAT *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int> CreateCommittedResource3; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC1 *, D3D12_BARRIER_LAYOUT, const D3D12_CLEAR_VALUE *, UINT32, DXGI_FORMAT *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int> CreatePlacedResource2; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_BARRIER_LAYOUT, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, UINT32, DXGI_FORMAT *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_BARRIER_LAYOUT, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + uint, + DXGI_FORMAT*, + Guid*, + void**, + int> CreateReservedResource2; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC2 *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC2*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler2; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device2.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device2.gen.cs new file mode 100644 index 0000000000..cb77703407 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device2.gen.cs @@ -0,0 +1,1442 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("30BAA41E-B15B-475C-A0BB-1AF5C5B64328")] +[NativeTypeName("struct ID3D12Device2 : ID3D12Device1")] +[NativeInheritance("ID3D12Device1")] +public unsafe partial struct ID3D12Device2 : ID3D12Device2.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device2*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device2*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + public interface Interface : ID3D12Device1.Interface + { + [VtblIndex(47)] + HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device3.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device3.gen.cs new file mode 100644 index 0000000000..d0170f30ff --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device3.gen.cs @@ -0,0 +1,1547 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("81DADC15-2BAD-4392-93C5-101345C4AA98")] +[NativeTypeName("struct ID3D12Device3 : ID3D12Device2")] +[NativeInheritance("ID3D12Device2")] +public unsafe partial struct ID3D12Device3 : ID3D12Device3.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device3*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device3*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device3*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + public interface Interface : ID3D12Device2.Interface + { + [VtblIndex(48)] + HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ); + + [VtblIndex(49)] + HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ); + + [VtblIndex(50)] + HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device4.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device4.gen.cs new file mode 100644 index 0000000000..807b3beb74 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device4.gen.cs @@ -0,0 +1,1825 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("E865DF17-A9EE-46F9-A463-3098315AA2E5")] +[NativeTypeName("struct ID3D12Device4 : ID3D12Device3")] +[NativeInheritance("ID3D12Device3")] +public unsafe partial struct ID3D12Device4 : ID3D12Device4.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device4)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device4*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device4*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device4*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + public interface Interface : ID3D12Device3.Interface + { + [VtblIndex(51)] + HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ); + + [VtblIndex(52)] + HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ); + + [VtblIndex(53)] + HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ); + + [VtblIndex(54)] + HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ); + + [VtblIndex(55)] + HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ); + + [VtblIndex(56)] + D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device5.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device5.gen.cs new file mode 100644 index 0000000000..378c80dec7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device5.gen.cs @@ -0,0 +1,2050 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8B4F173B-2FEA-4B80-8F58-4307191AB95D")] +[NativeTypeName("struct ID3D12Device5 : ID3D12Device4")] +[NativeInheritance("ID3D12Device4")] +[SupportedOSPlatform("windows10.0.17763.0")] +public unsafe partial struct ID3D12Device5 : ID3D12Device5.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device5)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[57] + ) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pOwner, riid, ppvTracker); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void RemoveDevice() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12Device5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs) + { + return ( + (delegate* unmanaged)(lpVtbl[59]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pNumMetaCommands, pDescs); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int>)(lpVtbl[60]) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + CommandId, + Stage, + pTotalStructureSizeInBytes, + pParameterCount, + pParameterDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[61] + ) + )( + (ID3D12Device5*)Unsafe.AsPointer(ref this), + CommandId, + NodeMask, + pCreationParametersData, + CreationParametersDataSizeInBytes, + riid, + ppMetaCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[62] + ) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, riid, ppStateObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ) + { + ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void>)(lpVtbl[63]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), pDesc, pInfo); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ) + { + return ( + (delegate* unmanaged< + ID3D12Device5*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS>)(lpVtbl[64]) + )((ID3D12Device5*)Unsafe.AsPointer(ref this), SerializedDataType, pIdentifierToCheck); + } + + public interface Interface : ID3D12Device4.Interface + { + [VtblIndex(57)] + HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ); + + [VtblIndex(58)] + void RemoveDevice(); + + [VtblIndex(59)] + HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs); + + [VtblIndex(60)] + HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ); + + [VtblIndex(61)] + HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ); + + [VtblIndex(62)] + HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ); + + [VtblIndex(63)] + void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ); + + [VtblIndex(64)] + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + + [NativeTypeName( + "HRESULT (ID3D12LifetimeOwner *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12LifetimeOwner*, + Guid*, + void**, + int> CreateLifetimeTracker; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged RemoveDevice; + + [NativeTypeName("HRESULT (UINT *, D3D12_META_COMMAND_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint*, + D3D12_META_COMMAND_DESC*, + int> EnumerateMetaCommands; + + [NativeTypeName( + "HRESULT (const GUID &, D3D12_META_COMMAND_PARAMETER_STAGE, UINT *, UINT *, D3D12_META_COMMAND_PARAMETER_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int> EnumerateMetaCommandParameters; + + [NativeTypeName( + "HRESULT (const GUID &, UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateMetaCommand; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + Guid*, + void**, + int> CreateStateObject; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void> GetRaytracingAccelerationStructurePrebuildInfo; + + [NativeTypeName( + "D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (D3D12_SERIALIZED_DATA_TYPE, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS> CheckDriverMatchingIdentifier; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device6.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device6.gen.cs new file mode 100644 index 0000000000..2a96066091 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device6.gen.cs @@ -0,0 +1,2042 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C70B221B-40E4-4A17-89AF-025A0727A6DC")] +[NativeTypeName("struct ID3D12Device6 : ID3D12Device5")] +[NativeInheritance("ID3D12Device5")] +public unsafe partial struct ID3D12Device6 : ID3D12Device6.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device6)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[57] + ) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pOwner, riid, ppvTracker); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void RemoveDevice() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12Device6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs) + { + return ( + (delegate* unmanaged)(lpVtbl[59]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pNumMetaCommands, pDescs); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int>)(lpVtbl[60]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + CommandId, + Stage, + pTotalStructureSizeInBytes, + pParameterCount, + pParameterDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[61] + ) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + CommandId, + NodeMask, + pCreationParametersData, + CreationParametersDataSizeInBytes, + riid, + ppMetaCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[62] + ) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, riid, ppStateObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ) + { + ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void>)(lpVtbl[63]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), pDesc, pInfo); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS>)(lpVtbl[64]) + )((ID3D12Device6*)Unsafe.AsPointer(ref this), SerializedDataType, pIdentifierToCheck); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HRESULT SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE Mode, + D3D12_MEASUREMENTS_ACTION MeasurementsAction, + HANDLE hEventToSignalUponCompletion, + BOOL* pbFurtherMeasurementsDesired + ) + { + return ( + (delegate* unmanaged< + ID3D12Device6*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int>)(lpVtbl[65]) + )( + (ID3D12Device6*)Unsafe.AsPointer(ref this), + Mode, + MeasurementsAction, + hEventToSignalUponCompletion, + pbFurtherMeasurementsDesired + ); + } + + public interface Interface : ID3D12Device5.Interface + { + [VtblIndex(65)] + HRESULT SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE Mode, + D3D12_MEASUREMENTS_ACTION MeasurementsAction, + HANDLE hEventToSignalUponCompletion, + BOOL* pbFurtherMeasurementsDesired + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + + [NativeTypeName( + "HRESULT (ID3D12LifetimeOwner *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12LifetimeOwner*, + Guid*, + void**, + int> CreateLifetimeTracker; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged RemoveDevice; + + [NativeTypeName("HRESULT (UINT *, D3D12_META_COMMAND_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint*, + D3D12_META_COMMAND_DESC*, + int> EnumerateMetaCommands; + + [NativeTypeName( + "HRESULT (const GUID &, D3D12_META_COMMAND_PARAMETER_STAGE, UINT *, UINT *, D3D12_META_COMMAND_PARAMETER_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int> EnumerateMetaCommandParameters; + + [NativeTypeName( + "HRESULT (const GUID &, UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateMetaCommand; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + Guid*, + void**, + int> CreateStateObject; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void> GetRaytracingAccelerationStructurePrebuildInfo; + + [NativeTypeName( + "D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (D3D12_SERIALIZED_DATA_TYPE, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS> CheckDriverMatchingIdentifier; + + [NativeTypeName( + "HRESULT (D3D12_BACKGROUND_PROCESSING_MODE, D3D12_MEASUREMENTS_ACTION, HANDLE, BOOL *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int> SetBackgroundProcessingMode; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device7.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device7.gen.cs new file mode 100644 index 0000000000..b2fbf83f72 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device7.gen.cs @@ -0,0 +1,2120 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("5C014B53-68A1-4B9B-8BD1-DD6046B9358B")] +[NativeTypeName("struct ID3D12Device7 : ID3D12Device6")] +[NativeInheritance("ID3D12Device6")] +public unsafe partial struct ID3D12Device7 : ID3D12Device7.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device7)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[57] + ) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pOwner, riid, ppvTracker); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void RemoveDevice() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12Device7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs) + { + return ( + (delegate* unmanaged)(lpVtbl[59]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pNumMetaCommands, pDescs); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int>)(lpVtbl[60]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + CommandId, + Stage, + pTotalStructureSizeInBytes, + pParameterCount, + pParameterDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[61] + ) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + CommandId, + NodeMask, + pCreationParametersData, + CreationParametersDataSizeInBytes, + riid, + ppMetaCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[62] + ) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppStateObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ) + { + ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void>)(lpVtbl[63]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, pInfo); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS>)(lpVtbl[64]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), SerializedDataType, pIdentifierToCheck); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HRESULT SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE Mode, + D3D12_MEASUREMENTS_ACTION MeasurementsAction, + HANDLE hEventToSignalUponCompletion, + BOOL* pbFurtherMeasurementsDesired + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int>)(lpVtbl[65]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + Mode, + MeasurementsAction, + hEventToSignalUponCompletion, + pbFurtherMeasurementsDesired + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HRESULT AddToStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pAddition, + ID3D12StateObject* pStateObjectToGrowFrom, + [NativeTypeName("const IID &")] Guid* riid, + void** ppNewStateObject + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int>)(lpVtbl[66]) + )( + (ID3D12Device7*)Unsafe.AsPointer(ref this), + pAddition, + pStateObjectToGrowFrom, + riid, + ppNewStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HRESULT CreateProtectedResourceSession1( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device7*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int>)(lpVtbl[67]) + )((ID3D12Device7*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + public interface Interface : ID3D12Device6.Interface + { + [VtblIndex(66)] + HRESULT AddToStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pAddition, + ID3D12StateObject* pStateObjectToGrowFrom, + [NativeTypeName("const IID &")] Guid* riid, + void** ppNewStateObject + ); + + [VtblIndex(67)] + HRESULT CreateProtectedResourceSession1( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + + [NativeTypeName( + "HRESULT (ID3D12LifetimeOwner *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12LifetimeOwner*, + Guid*, + void**, + int> CreateLifetimeTracker; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged RemoveDevice; + + [NativeTypeName("HRESULT (UINT *, D3D12_META_COMMAND_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint*, + D3D12_META_COMMAND_DESC*, + int> EnumerateMetaCommands; + + [NativeTypeName( + "HRESULT (const GUID &, D3D12_META_COMMAND_PARAMETER_STAGE, UINT *, UINT *, D3D12_META_COMMAND_PARAMETER_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int> EnumerateMetaCommandParameters; + + [NativeTypeName( + "HRESULT (const GUID &, UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateMetaCommand; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + Guid*, + void**, + int> CreateStateObject; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void> GetRaytracingAccelerationStructurePrebuildInfo; + + [NativeTypeName( + "D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (D3D12_SERIALIZED_DATA_TYPE, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS> CheckDriverMatchingIdentifier; + + [NativeTypeName( + "HRESULT (D3D12_BACKGROUND_PROCESSING_MODE, D3D12_MEASUREMENTS_ACTION, HANDLE, BOOL *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int> SetBackgroundProcessingMode; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, ID3D12StateObject *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int> AddToStateObject; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int> CreateProtectedResourceSession1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device8.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device8.gen.cs new file mode 100644 index 0000000000..621ffd76dd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device8.gen.cs @@ -0,0 +1,2394 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("9218E6BB-F944-4F7E-A75C-B1B2C7B701F3")] +[NativeTypeName("struct ID3D12Device8 : ID3D12Device7")] +[NativeInheritance("ID3D12Device7")] +public unsafe partial struct ID3D12Device8 : ID3D12Device8.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device8)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[57] + ) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pOwner, riid, ppvTracker); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void RemoveDevice() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12Device8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs) + { + return ( + (delegate* unmanaged)(lpVtbl[59]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pNumMetaCommands, pDescs); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int>)(lpVtbl[60]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + CommandId, + Stage, + pTotalStructureSizeInBytes, + pParameterCount, + pParameterDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[61] + ) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + CommandId, + NodeMask, + pCreationParametersData, + CreationParametersDataSizeInBytes, + riid, + ppMetaCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[62] + ) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppStateObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void>)(lpVtbl[63]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, pInfo); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS>)(lpVtbl[64]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), SerializedDataType, pIdentifierToCheck); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HRESULT SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE Mode, + D3D12_MEASUREMENTS_ACTION MeasurementsAction, + HANDLE hEventToSignalUponCompletion, + BOOL* pbFurtherMeasurementsDesired + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int>)(lpVtbl[65]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + Mode, + MeasurementsAction, + hEventToSignalUponCompletion, + pbFurtherMeasurementsDesired + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HRESULT AddToStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pAddition, + ID3D12StateObject* pStateObjectToGrowFrom, + [NativeTypeName("const IID &")] Guid* riid, + void** ppNewStateObject + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int>)(lpVtbl[66]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pAddition, + pStateObjectToGrowFrom, + riid, + ppNewStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HRESULT CreateProtectedResourceSession1( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int>)(lpVtbl[67]) + )((ID3D12Device8*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[68]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public HRESULT CreateCommittedResource2( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[69]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public HRESULT CreatePlacedResource1( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[70]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void CreateSamplerFeedbackUnorderedAccessView( + ID3D12Resource* pTargetedResource, + ID3D12Resource* pFeedbackResource, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[71]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pTargetedResource, + pFeedbackResource, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void GetCopyableFootprints1( + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device8*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[72]) + )( + (ID3D12Device8*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + public interface Interface : ID3D12Device7.Interface + { + [VtblIndex(68)] + D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ); + + [VtblIndex(69)] + HRESULT CreateCommittedResource2( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ); + + [VtblIndex(70)] + HRESULT CreatePlacedResource1( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ); + + [VtblIndex(71)] + void CreateSamplerFeedbackUnorderedAccessView( + ID3D12Resource* pTargetedResource, + ID3D12Resource* pFeedbackResource, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ); + + [VtblIndex(72)] + void GetCopyableFootprints1( + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + + [NativeTypeName( + "HRESULT (ID3D12LifetimeOwner *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12LifetimeOwner*, + Guid*, + void**, + int> CreateLifetimeTracker; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged RemoveDevice; + + [NativeTypeName("HRESULT (UINT *, D3D12_META_COMMAND_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint*, + D3D12_META_COMMAND_DESC*, + int> EnumerateMetaCommands; + + [NativeTypeName( + "HRESULT (const GUID &, D3D12_META_COMMAND_PARAMETER_STAGE, UINT *, UINT *, D3D12_META_COMMAND_PARAMETER_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int> EnumerateMetaCommandParameters; + + [NativeTypeName( + "HRESULT (const GUID &, UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateMetaCommand; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + Guid*, + void**, + int> CreateStateObject; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void> GetRaytracingAccelerationStructurePrebuildInfo; + + [NativeTypeName( + "D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (D3D12_SERIALIZED_DATA_TYPE, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS> CheckDriverMatchingIdentifier; + + [NativeTypeName( + "HRESULT (D3D12_BACKGROUND_PROCESSING_MODE, D3D12_MEASUREMENTS_ACTION, HANDLE, BOOL *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int> SetBackgroundProcessingMode; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, ID3D12StateObject *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int> AddToStateObject; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int> CreateProtectedResourceSession1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo2; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource2; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource1; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSamplerFeedbackUnorderedAccessView; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC1 *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Device9.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Device9.gen.cs new file mode 100644 index 0000000000..ca6bcdc2ad --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Device9.gen.cs @@ -0,0 +1,2456 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("4C80E962-F032-4F60-BC9E-EBC2CFA1D83C")] +[NativeTypeName("struct ID3D12Device9 : ID3D12Device8")] +[NativeInheritance("ID3D12Device8")] +public unsafe partial struct ID3D12Device9 : ID3D12Device9.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device9)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNodeCount() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateCommandQueue( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateCommandAllocator( + D3D12_COMMAND_LIST_TYPE type, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandAllocator + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateGraphicsPipelineState( + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateComputePipelineState( + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[11]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateCommandList( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + ID3D12CommandAllocator* pCommandAllocator, + ID3D12PipelineState* pInitialState, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + nodeMask, + type, + pCommandAllocator, + pInitialState, + riid, + ppCommandList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE Feature, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + Feature, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateDescriptorHeap( + [NativeTypeName("const D3D12_DESCRIPTOR_HEAP_DESC *")] + D3D12_DESCRIPTOR_HEAP_DESC* pDescriptorHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) + { + return ( + (delegate* unmanaged)(lpVtbl[15]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), DescriptorHeapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT CreateRootSignature( + uint nodeMask, + [NativeTypeName("const void *")] void* pBlobWithRootSignature, + [NativeTypeName("SIZE_T")] nuint blobLengthInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvRootSignature + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + nodeMask, + pBlobWithRootSignature, + blobLengthInBytes, + riid, + ppvRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CreateConstantBufferView( + [NativeTypeName("const D3D12_CONSTANT_BUFFER_VIEW_DESC *")] + D3D12_CONSTANT_BUFFER_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[17]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CreateShaderResourceView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_SHADER_RESOURCE_VIEW_DESC *")] + D3D12_SHADER_RESOURCE_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[18]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void CreateUnorderedAccessView( + ID3D12Resource* pResource, + ID3D12Resource* pCounterResource, + [NativeTypeName("const D3D12_UNORDERED_ACCESS_VIEW_DESC *")] + D3D12_UNORDERED_ACCESS_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[19]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pResource, + pCounterResource, + pDesc, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void CreateRenderTargetView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_RENDER_TARGET_VIEW_DESC *")] + D3D12_RENDER_TARGET_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[20]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void CreateDepthStencilView( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DEPTH_STENCIL_VIEW_DESC *")] + D3D12_DEPTH_STENCIL_VIEW_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[21]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void CreateSampler( + [NativeTypeName("const D3D12_SAMPLER_DESC *")] D3D12_SAMPLER_DESC* pDesc, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[22]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void CopyDescriptors( + uint NumDestDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDestDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pDestDescriptorRangeSizes, + uint NumSrcDescriptorRanges, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pSrcDescriptorRangeStarts, + [NativeTypeName("const UINT *")] uint* pSrcDescriptorRangeSizes, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[23]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + NumDestDescriptorRanges, + pDestDescriptorRangeStarts, + pDestDescriptorRangeSizes, + NumSrcDescriptorRanges, + pSrcDescriptorRangeStarts, + pSrcDescriptorRangeSizes, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void CopyDescriptorsSimple( + uint NumDescriptors, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart, + D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart, + D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void>)(lpVtbl[24]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + NumDescriptors, + DestDescriptorRangeStart, + SrcDescriptorRangeStart, + DescriptorHeapsType + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[25]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public D3D12_HEAP_PROPERTIES GetCustomHeapProperties(uint nodeMask, D3D12_HEAP_TYPE heapType) + { + D3D12_HEAP_PROPERTIES result; + return *( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*>)(lpVtbl[26]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HRESULT CreateCommittedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[27]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT CreateHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)(lpVtbl[28]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT CreatePlacedResource( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[29]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT CreateReservedResource( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[30]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT CreateSharedHandle( + ID3D12DeviceChild* pObject, + [NativeTypeName("const SECURITY_ATTRIBUTES *")] SECURITY_ATTRIBUTES* pAttributes, + [NativeTypeName("DWORD")] uint Access, + [NativeTypeName("LPCWSTR")] ushort* Name, + HANDLE* pHandle + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int>)(lpVtbl[31]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT OpenSharedHandle( + HANDLE NTHandle, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvObj + ) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + NTHandle, + riid, + ppvObj + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HRESULT OpenSharedHandleByName( + [NativeTypeName("LPCWSTR")] ushort* Name, + [NativeTypeName("DWORD")] uint Access, + HANDLE* pNTHandle + ) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + Name, + Access, + pNTHandle + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HRESULT MakeResident( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HRESULT Evict( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects + ) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + NumObjects, + ppObjects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HRESULT CreateFence( + [NativeTypeName("UINT64")] ulong InitialValue, + D3D12_FENCE_FLAGS Flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppFence + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HRESULT GetDeviceRemovedReason() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetCopyableFootprints( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[38]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT CreateQueryHeap( + [NativeTypeName("const D3D12_QUERY_HEAP_DESC *")] D3D12_QUERY_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[39] + ) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HRESULT SetStablePowerState(BOOL Enable) + { + return ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HRESULT CreateCommandSignature( + [NativeTypeName("const D3D12_COMMAND_SIGNATURE_DESC *")] + D3D12_COMMAND_SIGNATURE_DESC* pDesc, + ID3D12RootSignature* pRootSignature, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvCommandSignature + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int>)(lpVtbl[41]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pDesc, + pRootSignature, + riid, + ppvCommandSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetResourceTiling( + ID3D12Resource* pTiledResource, + uint* pNumTilesForEntireResource, + D3D12_PACKED_MIP_INFO* pPackedMipDesc, + D3D12_TILE_SHAPE* pStandardTileShapeForNonPackedMips, + uint* pNumSubresourceTilings, + uint FirstSubresourceTilingToGet, + D3D12_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void>)(lpVtbl[42]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pTiledResource, + pNumTilesForEntireResource, + pPackedMipDesc, + pStandardTileShapeForNonPackedMips, + pNumSubresourceTilings, + FirstSubresourceTilingToGet, + pSubresourceTilingsForNonPackedMips + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public LUID GetAdapterLuid() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[43]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HRESULT CreatePipelineLibrary( + [NativeTypeName("const void *")] void* pLibraryBlob, + [NativeTypeName("SIZE_T")] nuint BlobLength, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineLibrary + ) + { + return ( + (delegate* unmanaged)(lpVtbl[44]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pLibraryBlob, + BlobLength, + riid, + ppPipelineLibrary + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HRESULT SetEventOnMultipleFenceCompletion( + [NativeTypeName("ID3D12Fence *const *")] ID3D12Fence** ppFences, + [NativeTypeName("const UINT64 *")] ulong* pFenceValues, + uint NumFences, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS Flags, + HANDLE hEvent + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int>)(lpVtbl[45]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + ppFences, + pFenceValues, + NumFences, + Flags, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HRESULT SetResidencyPriority( + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + [NativeTypeName("const D3D12_RESIDENCY_PRIORITY *")] D3D12_RESIDENCY_PRIORITY* pPriorities + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int>)(lpVtbl[46]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HRESULT CreatePipelineState( + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[47]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HRESULT OpenExistingHeapFromAddress( + [NativeTypeName("const void *")] void* pAddress, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[48]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pAddress, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HRESULT OpenExistingHeapFromFileMapping( + HANDLE hFileMapping, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ((delegate* unmanaged)(lpVtbl[49]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + hFileMapping, + riid, + ppvHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HRESULT EnqueueMakeResident( + D3D12_RESIDENCY_FLAGS Flags, + uint NumObjects, + [NativeTypeName("ID3D12Pageable *const *")] ID3D12Pageable** ppObjects, + ID3D12Fence* pFenceToSignal, + [NativeTypeName("UINT64")] ulong FenceValueToSignal + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int>)(lpVtbl[50]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + Flags, + NumObjects, + ppObjects, + pFenceToSignal, + FenceValueToSignal + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HRESULT CreateCommandList1( + uint nodeMask, + D3D12_COMMAND_LIST_TYPE type, + D3D12_COMMAND_LIST_FLAGS flags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandList + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int>)(lpVtbl[51]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), nodeMask, type, flags, riid, ppCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HRESULT CreateProtectedResourceSession( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[52]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HRESULT CreateCommittedResource1( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[53]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HRESULT CreateHeap1( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[54]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, pProtectedSession, riid, ppvHeap); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HRESULT CreateReservedResource1( + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[55]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pDesc, + InitialState, + pOptimizedClearValue, + pProtectedSession, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[56]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HRESULT CreateLifetimeTracker( + ID3D12LifetimeOwner* pOwner, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvTracker + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[57] + ) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pOwner, riid, ppvTracker); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void RemoveDevice() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12Device9*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HRESULT EnumerateMetaCommands(uint* pNumMetaCommands, D3D12_META_COMMAND_DESC* pDescs) + { + return ( + (delegate* unmanaged)(lpVtbl[59]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pNumMetaCommands, pDescs); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HRESULT EnumerateMetaCommandParameters( + [NativeTypeName("const GUID &")] Guid* CommandId, + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint* pTotalStructureSizeInBytes, + uint* pParameterCount, + D3D12_META_COMMAND_PARAMETER_DESC* pParameterDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int>)(lpVtbl[60]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + CommandId, + Stage, + pTotalStructureSizeInBytes, + pParameterCount, + pParameterDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HRESULT CreateMetaCommand( + [NativeTypeName("const GUID &")] Guid* CommandId, + uint NodeMask, + [NativeTypeName("const void *")] void* pCreationParametersData, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppMetaCommand + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[61] + ) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + CommandId, + NodeMask, + pCreationParametersData, + CreationParametersDataSizeInBytes, + riid, + ppMetaCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HRESULT CreateStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppStateObject + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[62] + ) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppStateObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void GetRaytracingAccelerationStructurePrebuildInfo( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS* pDesc, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO* pInfo + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void>)(lpVtbl[63]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, pInfo); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS CheckDriverMatchingIdentifier( + D3D12_SERIALIZED_DATA_TYPE SerializedDataType, + [NativeTypeName("const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *")] + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER* pIdentifierToCheck + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS>)(lpVtbl[64]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), SerializedDataType, pIdentifierToCheck); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HRESULT SetBackgroundProcessingMode( + D3D12_BACKGROUND_PROCESSING_MODE Mode, + D3D12_MEASUREMENTS_ACTION MeasurementsAction, + HANDLE hEventToSignalUponCompletion, + BOOL* pbFurtherMeasurementsDesired + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int>)(lpVtbl[65]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + Mode, + MeasurementsAction, + hEventToSignalUponCompletion, + pbFurtherMeasurementsDesired + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HRESULT AddToStateObject( + [NativeTypeName("const D3D12_STATE_OBJECT_DESC *")] D3D12_STATE_OBJECT_DESC* pAddition, + ID3D12StateObject* pStateObjectToGrowFrom, + [NativeTypeName("const IID &")] Guid* riid, + void** ppNewStateObject + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int>)(lpVtbl[66]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pAddition, + pStateObjectToGrowFrom, + riid, + ppNewStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HRESULT CreateProtectedResourceSession1( + [NativeTypeName("const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *")] + D3D12_PROTECTED_RESOURCE_SESSION_DESC1* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int>)(lpVtbl[67]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2( + uint visibleMask, + uint numResourceDescs, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDescs, + D3D12_RESOURCE_ALLOCATION_INFO1* pResourceAllocationInfo1 + ) + { + D3D12_RESOURCE_ALLOCATION_INFO result; + return *( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*>)(lpVtbl[68]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + &result, + visibleMask, + numResourceDescs, + pResourceDescs, + pResourceAllocationInfo1 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public HRESULT CreateCommittedResource2( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + ID3D12ProtectedResourceSession* pProtectedSession, + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[69]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pProtectedSession, + riidResource, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public HRESULT CreatePlacedResource1( + ID3D12Heap* pHeap, + [NativeTypeName("UINT64")] ulong HeapOffset, + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pDesc, + D3D12_RESOURCE_STATES InitialState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvResource + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int>)(lpVtbl[70]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pHeap, + HeapOffset, + pDesc, + InitialState, + pOptimizedClearValue, + riid, + ppvResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void CreateSamplerFeedbackUnorderedAccessView( + ID3D12Resource* pTargetedResource, + ID3D12Resource* pFeedbackResource, + D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[71]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pTargetedResource, + pFeedbackResource, + DestDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void GetCopyableFootprints1( + [NativeTypeName("const D3D12_RESOURCE_DESC1 *")] D3D12_RESOURCE_DESC1* pResourceDesc, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong BaseOffset, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + uint* pNumRows, + [NativeTypeName("UINT64 *")] ulong* pRowSizeInBytes, + [NativeTypeName("UINT64 *")] ulong* pTotalBytes + ) + { + ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void>)(lpVtbl[72]) + )( + (ID3D12Device9*)Unsafe.AsPointer(ref this), + pResourceDesc, + FirstSubresource, + NumSubresources, + BaseOffset, + pLayouts, + pNumRows, + pRowSizeInBytes, + pTotalBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public HRESULT CreateShaderCacheSession( + [NativeTypeName("const D3D12_SHADER_CACHE_SESSION_DESC *")] + D3D12_SHADER_CACHE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvSession + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_SHADER_CACHE_SESSION_DESC*, + Guid*, + void**, + int>)(lpVtbl[73]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, riid, ppvSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public HRESULT ShaderCacheControl( + D3D12_SHADER_CACHE_KIND_FLAGS Kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS Control + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_SHADER_CACHE_KIND_FLAGS, + D3D12_SHADER_CACHE_CONTROL_FLAGS, + int>)(lpVtbl[74]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), Kinds, Control); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public HRESULT CreateCommandQueue1( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* CreatorID, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ) + { + return ( + (delegate* unmanaged< + ID3D12Device9*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + Guid*, + void**, + int>)(lpVtbl[75]) + )((ID3D12Device9*)Unsafe.AsPointer(ref this), pDesc, CreatorID, riid, ppCommandQueue); + } + + public interface Interface : ID3D12Device8.Interface + { + [VtblIndex(73)] + HRESULT CreateShaderCacheSession( + [NativeTypeName("const D3D12_SHADER_CACHE_SESSION_DESC *")] + D3D12_SHADER_CACHE_SESSION_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvSession + ); + + [VtblIndex(74)] + HRESULT ShaderCacheControl( + D3D12_SHADER_CACHE_KIND_FLAGS Kinds, + D3D12_SHADER_CACHE_CONTROL_FLAGS Control + ); + + [VtblIndex(75)] + HRESULT CreateCommandQueue1( + [NativeTypeName("const D3D12_COMMAND_QUEUE_DESC *")] D3D12_COMMAND_QUEUE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* CreatorID, + [NativeTypeName("const IID &")] Guid* riid, + void** ppCommandQueue + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeCount; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + void**, + int> CreateCommandQueue; + + [NativeTypeName( + "HRESULT (D3D12_COMMAND_LIST_TYPE, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_LIST_TYPE, + Guid*, + void**, + int> CreateCommandAllocator; + + [NativeTypeName( + "HRESULT (const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateGraphicsPipelineState; + + [NativeTypeName( + "HRESULT (const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> CreateComputePipelineState; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, ID3D12CommandAllocator *, ID3D12PipelineState *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + Guid*, + void**, + int> CreateCommandList; + + [NativeTypeName("HRESULT (D3D12_FEATURE, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_DESCRIPTOR_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_DESC*, + Guid*, + void**, + int> CreateDescriptorHeap; + + [NativeTypeName("UINT (D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DESCRIPTOR_HEAP_TYPE, + uint> GetDescriptorHandleIncrementSize; + + [NativeTypeName( + "HRESULT (UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateRootSignature; + + [NativeTypeName( + "void (const D3D12_CONSTANT_BUFFER_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CONSTANT_BUFFER_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateConstantBufferView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_SHADER_RESOURCE_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_SHADER_RESOURCE_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateShaderResourceView; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, const D3D12_UNORDERED_ACCESS_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_UNORDERED_ACCESS_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateUnorderedAccessView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_RENDER_TARGET_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_RENDER_TARGET_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateRenderTargetView; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DEPTH_STENCIL_VIEW_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DEPTH_STENCIL_VIEW_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateDepthStencilView; + + [NativeTypeName( + "void (const D3D12_SAMPLER_DESC *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SAMPLER_DESC*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSampler; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, const UINT *, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + uint*, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptors; + + [NativeTypeName( + "void (UINT, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_DESCRIPTOR_HEAP_TYPE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_DESCRIPTOR_HEAP_TYPE, + void> CopyDescriptorsSimple; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo; + + [NativeTypeName("D3D12_HEAP_PROPERTIES (UINT, D3D12_HEAP_TYPE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + uint, + D3D12_HEAP_TYPE, + D3D12_HEAP_PROPERTIES*> GetCustomHeapProperties; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateCommittedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateHeap; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreateReservedResource; + + [NativeTypeName( + "HRESULT (ID3D12DeviceChild *, const SECURITY_ATTRIBUTES *, DWORD, LPCWSTR, HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12DeviceChild*, + SECURITY_ATTRIBUTES*, + uint, + ushort*, + HANDLE*, + int> CreateSharedHandle; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandle; + + [NativeTypeName("HRESULT (LPCWSTR, DWORD, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged OpenSharedHandleByName; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged MakeResident; + + [NativeTypeName("HRESULT (UINT, ID3D12Pageable *const *) __attribute__((stdcall))")] + public delegate* unmanaged Evict; + + [NativeTypeName( + "HRESULT (UINT64, D3D12_FENCE_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + D3D12_FENCE_FLAGS, + Guid*, + void**, + int> CreateFence; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceRemovedReason; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints; + + [NativeTypeName( + "HRESULT (const D3D12_QUERY_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_QUERY_HEAP_DESC*, + Guid*, + void**, + int> CreateQueryHeap; + + [NativeTypeName("HRESULT (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetStablePowerState; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_SIGNATURE_DESC *, ID3D12RootSignature *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_SIGNATURE_DESC*, + ID3D12RootSignature*, + Guid*, + void**, + int> CreateCommandSignature; + + [NativeTypeName( + "void (ID3D12Resource *, UINT *, D3D12_PACKED_MIP_INFO *, D3D12_TILE_SHAPE *, UINT *, UINT, D3D12_SUBRESOURCE_TILING *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint*, + D3D12_PACKED_MIP_INFO*, + D3D12_TILE_SHAPE*, + uint*, + uint, + D3D12_SUBRESOURCE_TILING*, + void> GetResourceTiling; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterLuid; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreatePipelineLibrary; + + [NativeTypeName( + "HRESULT (ID3D12Fence *const *, const UINT64 *, UINT, D3D12_MULTIPLE_FENCE_WAIT_FLAGS, HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Fence**, + ulong*, + uint, + D3D12_MULTIPLE_FENCE_WAIT_FLAGS, + HANDLE, + int> SetEventOnMultipleFenceCompletion; + + [NativeTypeName( + "HRESULT (UINT, ID3D12Pageable *const *, const D3D12_RESIDENCY_PRIORITY *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12Pageable**, + D3D12_RESIDENCY_PRIORITY*, + int> SetResidencyPriority; + + [NativeTypeName( + "HRESULT (const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> CreatePipelineState; + + [NativeTypeName("HRESULT (const void *, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged OpenExistingHeapFromAddress; + + [NativeTypeName("HRESULT (HANDLE, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + HANDLE, + Guid*, + void**, + int> OpenExistingHeapFromFileMapping; + + [NativeTypeName( + "HRESULT (D3D12_RESIDENCY_FLAGS, UINT, ID3D12Pageable *const *, ID3D12Fence *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESIDENCY_FLAGS, + uint, + ID3D12Pageable**, + ID3D12Fence*, + ulong, + int> EnqueueMakeResident; + + [NativeTypeName( + "HRESULT (UINT, D3D12_COMMAND_LIST_TYPE, D3D12_COMMAND_LIST_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_COMMAND_LIST_TYPE, + D3D12_COMMAND_LIST_FLAGS, + Guid*, + void**, + int> CreateCommandList1; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + Guid*, + void**, + int> CreateProtectedResourceSession; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource1; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateHeap1; + + [NativeTypeName( + "HRESULT (const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateReservedResource1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo1; + + [NativeTypeName( + "HRESULT (ID3D12LifetimeOwner *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12LifetimeOwner*, + Guid*, + void**, + int> CreateLifetimeTracker; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged RemoveDevice; + + [NativeTypeName("HRESULT (UINT *, D3D12_META_COMMAND_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint*, + D3D12_META_COMMAND_DESC*, + int> EnumerateMetaCommands; + + [NativeTypeName( + "HRESULT (const GUID &, D3D12_META_COMMAND_PARAMETER_STAGE, UINT *, UINT *, D3D12_META_COMMAND_PARAMETER_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint*, + uint*, + D3D12_META_COMMAND_PARAMETER_DESC*, + int> EnumerateMetaCommandParameters; + + [NativeTypeName( + "HRESULT (const GUID &, UINT, const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + uint, + void*, + nuint, + Guid*, + void**, + int> CreateMetaCommand; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + Guid*, + void**, + int> CreateStateObject; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO*, + void> GetRaytracingAccelerationStructurePrebuildInfo; + + [NativeTypeName( + "D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (D3D12_SERIALIZED_DATA_TYPE, const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SERIALIZED_DATA_TYPE, + D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER*, + D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS> CheckDriverMatchingIdentifier; + + [NativeTypeName( + "HRESULT (D3D12_BACKGROUND_PROCESSING_MODE, D3D12_MEASUREMENTS_ACTION, HANDLE, BOOL *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BACKGROUND_PROCESSING_MODE, + D3D12_MEASUREMENTS_ACTION, + HANDLE, + BOOL*, + int> SetBackgroundProcessingMode; + + [NativeTypeName( + "HRESULT (const D3D12_STATE_OBJECT_DESC *, ID3D12StateObject *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_STATE_OBJECT_DESC*, + ID3D12StateObject*, + Guid*, + void**, + int> AddToStateObject; + + [NativeTypeName( + "HRESULT (const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + Guid*, + void**, + int> CreateProtectedResourceSession1; + + [NativeTypeName( + "D3D12_RESOURCE_ALLOCATION_INFO (UINT, UINT, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_ALLOCATION_INFO1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_ALLOCATION_INFO*, + uint, + uint, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_ALLOCATION_INFO1*, + D3D12_RESOURCE_ALLOCATION_INFO*> GetResourceAllocationInfo2; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateCommittedResource2; + + [NativeTypeName( + "HRESULT (ID3D12Heap *, UINT64, const D3D12_RESOURCE_DESC1 *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Heap*, + ulong, + D3D12_RESOURCE_DESC1*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + Guid*, + void**, + int> CreatePlacedResource1; + + [NativeTypeName( + "void (ID3D12Resource *, ID3D12Resource *, D3D12_CPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ID3D12Resource*, + D3D12_CPU_DESCRIPTOR_HANDLE, + void> CreateSamplerFeedbackUnorderedAccessView; + + [NativeTypeName( + "void (const D3D12_RESOURCE_DESC1 *, UINT, UINT, UINT64, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *, UINT *, UINT64 *, UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOURCE_DESC1*, + uint, + uint, + ulong, + D3D12_PLACED_SUBRESOURCE_FOOTPRINT*, + uint*, + ulong*, + ulong*, + void> GetCopyableFootprints1; + + [NativeTypeName( + "HRESULT (const D3D12_SHADER_CACHE_SESSION_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADER_CACHE_SESSION_DESC*, + Guid*, + void**, + int> CreateShaderCacheSession; + + [NativeTypeName( + "HRESULT (D3D12_SHADER_CACHE_KIND_FLAGS, D3D12_SHADER_CACHE_CONTROL_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADER_CACHE_KIND_FLAGS, + D3D12_SHADER_CACHE_CONTROL_FLAGS, + int> ShaderCacheControl; + + [NativeTypeName( + "HRESULT (const D3D12_COMMAND_QUEUE_DESC *, const IID &, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_COMMAND_QUEUE_DESC*, + Guid*, + Guid*, + void**, + int> CreateCommandQueue1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceChild.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceChild.gen.cs new file mode 100644 index 0000000000..ed3ebc9d77 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceChild.gen.cs @@ -0,0 +1,169 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("905DB94B-A00C-4140-9DF5-2B64CA9EA357")] +[NativeTypeName("struct ID3D12DeviceChild : ID3D12Object")] +[NativeInheritance("ID3D12Object")] +public unsafe partial struct ID3D12DeviceChild : ID3D12DeviceChild.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceChild)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12DeviceChild*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + public interface Interface : ID3D12Object.Interface + { + [VtblIndex(7)] + HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceConfiguration.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceConfiguration.gen.cs new file mode 100644 index 0000000000..2760c8d4f5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceConfiguration.gen.cs @@ -0,0 +1,201 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("78DBF87B-F766-422B-A61C-C8C446BDB9AD")] +[NativeTypeName("struct ID3D12DeviceConfiguration : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DeviceConfiguration + : ID3D12DeviceConfiguration.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceConfiguration)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DeviceConfiguration*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceConfiguration*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceConfiguration*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public D3D12_DEVICE_CONFIGURATION_DESC GetDesc() + { + D3D12_DEVICE_CONFIGURATION_DESC result; + return *( + (delegate* unmanaged< + ID3D12DeviceConfiguration*, + D3D12_DEVICE_CONFIGURATION_DESC*, + D3D12_DEVICE_CONFIGURATION_DESC*>)(lpVtbl[3]) + )((ID3D12DeviceConfiguration*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT GetEnabledExperimentalFeatures(Guid* pGuids, uint NumGuids) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12DeviceConfiguration*)Unsafe.AsPointer(ref this), + pGuids, + NumGuids + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SerializeVersionedRootSignature( + [NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *")] + D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pDesc, + ID3DBlob** ppResult, + ID3DBlob** ppError + ) + { + return ( + (delegate* unmanaged< + ID3D12DeviceConfiguration*, + D3D12_VERSIONED_ROOT_SIGNATURE_DESC*, + ID3DBlob**, + ID3DBlob**, + int>)(lpVtbl[5]) + )((ID3D12DeviceConfiguration*)Unsafe.AsPointer(ref this), pDesc, ppResult, ppError); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT CreateVersionedRootSignatureDeserializer( + [NativeTypeName("const void *")] void* pBlob, + [NativeTypeName("SIZE_T")] nuint Size, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvDeserializer + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[6] + ) + )( + (ID3D12DeviceConfiguration*)Unsafe.AsPointer(ref this), + pBlob, + Size, + riid, + ppvDeserializer + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + D3D12_DEVICE_CONFIGURATION_DESC GetDesc(); + + [VtblIndex(4)] + HRESULT GetEnabledExperimentalFeatures(Guid* pGuids, uint NumGuids); + + [VtblIndex(5)] + HRESULT SerializeVersionedRootSignature( + [NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *")] + D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pDesc, + ID3DBlob** ppResult, + ID3DBlob** ppError + ); + + [VtblIndex(6)] + HRESULT CreateVersionedRootSignatureDeserializer( + [NativeTypeName("const void *")] void* pBlob, + [NativeTypeName("SIZE_T")] nuint Size, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvDeserializer + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("D3D12_DEVICE_CONFIGURATION_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DEVICE_CONFIGURATION_DESC*, + D3D12_DEVICE_CONFIGURATION_DESC*> GetDesc; + + [NativeTypeName("HRESULT (GUID *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged GetEnabledExperimentalFeatures; + + [NativeTypeName( + "HRESULT (const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *, ID3DBlob **, ID3DBlob **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VERSIONED_ROOT_SIGNATURE_DESC*, + ID3DBlob**, + ID3DBlob**, + int> SerializeVersionedRootSignature; + + [NativeTypeName( + "HRESULT (const void *, SIZE_T, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + void*, + nuint, + Guid*, + void**, + int> CreateVersionedRootSignatureDeserializer; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceFactory.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceFactory.gen.cs new file mode 100644 index 0000000000..284af5f7da --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceFactory.gen.cs @@ -0,0 +1,250 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("61F307D3-D34E-4E7C-8374-3BA4DE23CCCB")] +[NativeTypeName("struct ID3D12DeviceFactory : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DeviceFactory : ID3D12DeviceFactory.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceFactory)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT InitializeFromGlobalState() + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT ApplyToGlobalState() + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetFlags(D3D12_DEVICE_FACTORY_FLAGS flags) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12DeviceFactory*)Unsafe.AsPointer(ref this), flags); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public D3D12_DEVICE_FACTORY_FLAGS GetFlags() + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetConfigurationInterface( + [NativeTypeName("const IID &")] Guid* clsid, + [NativeTypeName("const IID &")] Guid* iid, + void** ppv + ) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this), + clsid, + iid, + ppv + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT EnableExperimentalFeatures( + uint NumFeatures, + [NativeTypeName("const IID *")] Guid* pIIDs, + void* pConfigurationStructs, + uint* pConfigurationStructSizes + ) + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )( + (ID3D12DeviceFactory*)Unsafe.AsPointer(ref this), + NumFeatures, + pIIDs, + pConfigurationStructs, + pConfigurationStructSizes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateDevice( + IUnknown* adapter, + D3D_FEATURE_LEVEL FeatureLevel, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvDevice + ) + { + return ( + (delegate* unmanaged< + ID3D12DeviceFactory*, + IUnknown*, + D3D_FEATURE_LEVEL, + Guid*, + void**, + int>)(lpVtbl[9]) + )((ID3D12DeviceFactory*)Unsafe.AsPointer(ref this), adapter, FeatureLevel, riid, ppvDevice); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT InitializeFromGlobalState(); + + [VtblIndex(4)] + HRESULT ApplyToGlobalState(); + + [VtblIndex(5)] + HRESULT SetFlags(D3D12_DEVICE_FACTORY_FLAGS flags); + + [VtblIndex(6)] + D3D12_DEVICE_FACTORY_FLAGS GetFlags(); + + [VtblIndex(7)] + HRESULT GetConfigurationInterface( + [NativeTypeName("const IID &")] Guid* clsid, + [NativeTypeName("const IID &")] Guid* iid, + void** ppv + ); + + [VtblIndex(8)] + HRESULT EnableExperimentalFeatures( + uint NumFeatures, + [NativeTypeName("const IID *")] Guid* pIIDs, + void* pConfigurationStructs, + uint* pConfigurationStructSizes + ); + + [VtblIndex(9)] + HRESULT CreateDevice( + IUnknown* adapter, + D3D_FEATURE_LEVEL FeatureLevel, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvDevice + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged InitializeFromGlobalState; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged ApplyToGlobalState; + + [NativeTypeName("HRESULT (D3D12_DEVICE_FACTORY_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged SetFlags; + + [NativeTypeName("D3D12_DEVICE_FACTORY_FLAGS () __attribute__((stdcall))")] + public delegate* unmanaged GetFlags; + + [NativeTypeName("HRESULT (const IID &, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetConfigurationInterface; + + [NativeTypeName("HRESULT (UINT, const IID *, void *, UINT *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + Guid*, + void*, + uint*, + int> EnableExperimentalFeatures; + + [NativeTypeName( + "HRESULT (IUnknown *, D3D_FEATURE_LEVEL, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + IUnknown*, + D3D_FEATURE_LEVEL, + Guid*, + void**, + int> CreateDevice; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData.gen.cs new file mode 100644 index 0000000000..21531202c5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("98931D33-5AE8-4791-AA3C-1A73A2934E71")] +[NativeTypeName("struct ID3D12DeviceRemovedExtendedData : IUnknown")] +[NativeInheritance("IUnknown")] +[SupportedOSPlatform("windows10.0.18362.0")] +public unsafe partial struct ID3D12DeviceRemovedExtendedData + : ID3D12DeviceRemovedExtendedData.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceRemovedExtendedData)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12DeviceRemovedExtendedData*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceRemovedExtendedData*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceRemovedExtendedData*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetAutoBreadcrumbsOutput(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT*, + int>)(lpVtbl[3]) + )((ID3D12DeviceRemovedExtendedData*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT GetPageFaultAllocationOutput(D3D12_DRED_PAGE_FAULT_OUTPUT* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData*, + D3D12_DRED_PAGE_FAULT_OUTPUT*, + int>)(lpVtbl[4]) + )((ID3D12DeviceRemovedExtendedData*)Unsafe.AsPointer(ref this), pOutput); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT GetAutoBreadcrumbsOutput(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT* pOutput); + + [VtblIndex(4)] + HRESULT GetPageFaultAllocationOutput(D3D12_DRED_PAGE_FAULT_OUTPUT* pOutput); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT*, + int> GetAutoBreadcrumbsOutput; + + [NativeTypeName("HRESULT (D3D12_DRED_PAGE_FAULT_OUTPUT *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_PAGE_FAULT_OUTPUT*, + int> GetPageFaultAllocationOutput; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData1.gen.cs new file mode 100644 index 0000000000..1cc98c5a71 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData1.gen.cs @@ -0,0 +1,160 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("9727A022-CF1D-4DDA-9EBA-EFFA653FC506")] +[NativeTypeName("struct ID3D12DeviceRemovedExtendedData1 : ID3D12DeviceRemovedExtendedData")] +[NativeInheritance("ID3D12DeviceRemovedExtendedData")] +public unsafe partial struct ID3D12DeviceRemovedExtendedData1 + : ID3D12DeviceRemovedExtendedData1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceRemovedExtendedData1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12DeviceRemovedExtendedData1*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceRemovedExtendedData1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceRemovedExtendedData1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetAutoBreadcrumbsOutput(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData1*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT*, + int>)(lpVtbl[3]) + )((ID3D12DeviceRemovedExtendedData1*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT GetPageFaultAllocationOutput(D3D12_DRED_PAGE_FAULT_OUTPUT* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData1*, + D3D12_DRED_PAGE_FAULT_OUTPUT*, + int>)(lpVtbl[4]) + )((ID3D12DeviceRemovedExtendedData1*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT GetAutoBreadcrumbsOutput1(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData1*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1*, + int>)(lpVtbl[5]) + )((ID3D12DeviceRemovedExtendedData1*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT GetPageFaultAllocationOutput1(D3D12_DRED_PAGE_FAULT_OUTPUT1* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData1*, + D3D12_DRED_PAGE_FAULT_OUTPUT1*, + int>)(lpVtbl[6]) + )((ID3D12DeviceRemovedExtendedData1*)Unsafe.AsPointer(ref this), pOutput); + } + + public interface Interface : ID3D12DeviceRemovedExtendedData.Interface + { + [VtblIndex(5)] + HRESULT GetAutoBreadcrumbsOutput1(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1* pOutput); + + [VtblIndex(6)] + HRESULT GetPageFaultAllocationOutput1(D3D12_DRED_PAGE_FAULT_OUTPUT1* pOutput); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT*, + int> GetAutoBreadcrumbsOutput; + + [NativeTypeName("HRESULT (D3D12_DRED_PAGE_FAULT_OUTPUT *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_PAGE_FAULT_OUTPUT*, + int> GetPageFaultAllocationOutput; + + [NativeTypeName("HRESULT (D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1*, + int> GetAutoBreadcrumbsOutput1; + + [NativeTypeName("HRESULT (D3D12_DRED_PAGE_FAULT_OUTPUT1 *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_PAGE_FAULT_OUTPUT1*, + int> GetPageFaultAllocationOutput1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData2.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData2.gen.cs new file mode 100644 index 0000000000..68aef661fd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData2.gen.cs @@ -0,0 +1,196 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("67FC5816-E4CA-4915-BF18-42541272DA54")] +[NativeTypeName("struct ID3D12DeviceRemovedExtendedData2 : ID3D12DeviceRemovedExtendedData1")] +[NativeInheritance("ID3D12DeviceRemovedExtendedData1")] +public unsafe partial struct ID3D12DeviceRemovedExtendedData2 + : ID3D12DeviceRemovedExtendedData2.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceRemovedExtendedData2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetAutoBreadcrumbsOutput(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData2*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT*, + int>)(lpVtbl[3]) + )((ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT GetPageFaultAllocationOutput(D3D12_DRED_PAGE_FAULT_OUTPUT* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData2*, + D3D12_DRED_PAGE_FAULT_OUTPUT*, + int>)(lpVtbl[4]) + )((ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT GetAutoBreadcrumbsOutput1(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData2*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1*, + int>)(lpVtbl[5]) + )((ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT GetPageFaultAllocationOutput1(D3D12_DRED_PAGE_FAULT_OUTPUT1* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData2*, + D3D12_DRED_PAGE_FAULT_OUTPUT1*, + int>)(lpVtbl[6]) + )((ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetPageFaultAllocationOutput2(D3D12_DRED_PAGE_FAULT_OUTPUT2* pOutput) + { + return ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedData2*, + D3D12_DRED_PAGE_FAULT_OUTPUT2*, + int>)(lpVtbl[7]) + )((ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this), pOutput); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_DRED_DEVICE_STATE GetDeviceState() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12DeviceRemovedExtendedData2*)Unsafe.AsPointer(ref this)); + } + + public interface Interface : ID3D12DeviceRemovedExtendedData1.Interface + { + [VtblIndex(7)] + HRESULT GetPageFaultAllocationOutput2(D3D12_DRED_PAGE_FAULT_OUTPUT2* pOutput); + + [VtblIndex(8)] + D3D12_DRED_DEVICE_STATE GetDeviceState(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT*, + int> GetAutoBreadcrumbsOutput; + + [NativeTypeName("HRESULT (D3D12_DRED_PAGE_FAULT_OUTPUT *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_PAGE_FAULT_OUTPUT*, + int> GetPageFaultAllocationOutput; + + [NativeTypeName("HRESULT (D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1*, + int> GetAutoBreadcrumbsOutput1; + + [NativeTypeName("HRESULT (D3D12_DRED_PAGE_FAULT_OUTPUT1 *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_PAGE_FAULT_OUTPUT1*, + int> GetPageFaultAllocationOutput1; + + [NativeTypeName("HRESULT (D3D12_DRED_PAGE_FAULT_OUTPUT2 *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_PAGE_FAULT_OUTPUT2*, + int> GetPageFaultAllocationOutput2; + + [NativeTypeName("D3D12_DRED_DEVICE_STATE () __attribute__((stdcall))")] + public delegate* unmanaged GetDeviceState; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings.gen.cs new file mode 100644 index 0000000000..e9b5e3c798 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings.gen.cs @@ -0,0 +1,141 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63")] +[NativeTypeName("struct ID3D12DeviceRemovedExtendedDataSettings : IUnknown")] +[NativeInheritance("IUnknown")] +[SupportedOSPlatform("windows10.0.18362.0")] +public unsafe partial struct ID3D12DeviceRemovedExtendedDataSettings + : ID3D12DeviceRemovedExtendedDataSettings.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceRemovedExtendedDataSettings)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)( + lpVtbl[0] + ) + )((ID3D12DeviceRemovedExtendedDataSettings*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceRemovedExtendedDataSettings*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceRemovedExtendedDataSettings*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetAutoBreadcrumbsEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[3]) + )((ID3D12DeviceRemovedExtendedDataSettings*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetPageFaultEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[4]) + )((ID3D12DeviceRemovedExtendedDataSettings*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetWatsonDumpEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[5]) + )((ID3D12DeviceRemovedExtendedDataSettings*)Unsafe.AsPointer(ref this), Enablement); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void SetAutoBreadcrumbsEnablement(D3D12_DRED_ENABLEMENT Enablement); + + [VtblIndex(4)] + void SetPageFaultEnablement(D3D12_DRED_ENABLEMENT Enablement); + + [VtblIndex(5)] + void SetWatsonDumpEnablement(D3D12_DRED_ENABLEMENT Enablement); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_ENABLEMENT, + void> SetAutoBreadcrumbsEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged SetPageFaultEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged SetWatsonDumpEnablement; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings1.gen.cs new file mode 100644 index 0000000000..097478b227 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings1.gen.cs @@ -0,0 +1,155 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("DBD5AE51-3317-4F0A-ADF9-1D7CEDCAAE0B")] +[NativeTypeName( + "struct ID3D12DeviceRemovedExtendedDataSettings1 : ID3D12DeviceRemovedExtendedDataSettings" +)] +[NativeInheritance("ID3D12DeviceRemovedExtendedDataSettings")] +public unsafe partial struct ID3D12DeviceRemovedExtendedDataSettings1 + : ID3D12DeviceRemovedExtendedDataSettings1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceRemovedExtendedDataSettings1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)( + lpVtbl[0] + ) + )((ID3D12DeviceRemovedExtendedDataSettings1*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceRemovedExtendedDataSettings1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceRemovedExtendedDataSettings1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetAutoBreadcrumbsEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings1*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[3]) + )((ID3D12DeviceRemovedExtendedDataSettings1*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetPageFaultEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings1*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[4]) + )((ID3D12DeviceRemovedExtendedDataSettings1*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetWatsonDumpEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings1*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[5]) + )((ID3D12DeviceRemovedExtendedDataSettings1*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetBreadcrumbContextEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings1*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[6]) + )((ID3D12DeviceRemovedExtendedDataSettings1*)Unsafe.AsPointer(ref this), Enablement); + } + + public interface Interface : ID3D12DeviceRemovedExtendedDataSettings.Interface + { + [VtblIndex(6)] + void SetBreadcrumbContextEnablement(D3D12_DRED_ENABLEMENT Enablement); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_ENABLEMENT, + void> SetAutoBreadcrumbsEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged SetPageFaultEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged SetWatsonDumpEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_ENABLEMENT, + void> SetBreadcrumbContextEnablement; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings2.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings2.gen.cs new file mode 100644 index 0000000000..6dc4d924a2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings2.gen.cs @@ -0,0 +1,170 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("61552388-01AB-4008-A436-83DB189566EA")] +[NativeTypeName( + "struct ID3D12DeviceRemovedExtendedDataSettings2 : ID3D12DeviceRemovedExtendedDataSettings1" +)] +[NativeInheritance("ID3D12DeviceRemovedExtendedDataSettings1")] +public unsafe partial struct ID3D12DeviceRemovedExtendedDataSettings2 + : ID3D12DeviceRemovedExtendedDataSettings2.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceRemovedExtendedDataSettings2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)( + lpVtbl[0] + ) + )((ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetAutoBreadcrumbsEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings2*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[3]) + )((ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetPageFaultEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings2*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[4]) + )((ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetWatsonDumpEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings2*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[5]) + )((ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetBreadcrumbContextEnablement(D3D12_DRED_ENABLEMENT Enablement) + { + ( + (delegate* unmanaged< + ID3D12DeviceRemovedExtendedDataSettings2*, + D3D12_DRED_ENABLEMENT, + void>)(lpVtbl[6]) + )((ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this), Enablement); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void UseMarkersOnlyAutoBreadcrumbs(BOOL MarkersOnly) + { + ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12DeviceRemovedExtendedDataSettings2*)Unsafe.AsPointer(ref this), + MarkersOnly + ); + } + + public interface Interface : ID3D12DeviceRemovedExtendedDataSettings1.Interface + { + [VtblIndex(7)] + void UseMarkersOnlyAutoBreadcrumbs(BOOL MarkersOnly); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_ENABLEMENT, + void> SetAutoBreadcrumbsEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged SetPageFaultEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged SetWatsonDumpEnablement; + + [NativeTypeName("void (D3D12_DRED_ENABLEMENT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_DRED_ENABLEMENT, + void> SetBreadcrumbContextEnablement; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged UseMarkersOnlyAutoBreadcrumbs; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Fence.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Fence.gen.cs new file mode 100644 index 0000000000..7552d64857 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Fence.gen.cs @@ -0,0 +1,222 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("0A753DCF-C4D8-4B91-ADF6-BE5A60D95A76")] +[NativeTypeName("struct ID3D12Fence : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12Fence : ID3D12Fence.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Fence)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + public ulong GetCompletedValue() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT SetEventOnCompletion([NativeTypeName("UINT64")] ulong Value, HANDLE hEvent) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + Value, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Signal([NativeTypeName("UINT64")] ulong Value) + { + return ((delegate* unmanaged)(lpVtbl[10]))( + (ID3D12Fence*)Unsafe.AsPointer(ref this), + Value + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + ulong GetCompletedValue(); + + [VtblIndex(9)] + HRESULT SetEventOnCompletion([NativeTypeName("UINT64")] ulong Value, HANDLE hEvent); + + [VtblIndex(10)] + HRESULT Signal([NativeTypeName("UINT64")] ulong Value); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetCompletedValue; + + [NativeTypeName("HRESULT (UINT64, HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged SetEventOnCompletion; + + [NativeTypeName("HRESULT (UINT64) __attribute__((stdcall))")] + public delegate* unmanaged Signal; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Fence1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Fence1.gen.cs new file mode 100644 index 0000000000..f81c7e8ef8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Fence1.gen.cs @@ -0,0 +1,229 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("433685FE-E22B-4CA0-A8DB-B5B4F4DD0E4A")] +[NativeTypeName("struct ID3D12Fence1 : ID3D12Fence")] +[NativeInheritance("ID3D12Fence")] +public unsafe partial struct ID3D12Fence1 : ID3D12Fence1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Fence1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + public ulong GetCompletedValue() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT SetEventOnCompletion([NativeTypeName("UINT64")] ulong Value, HANDLE hEvent) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + Value, + hEvent + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Signal([NativeTypeName("UINT64")] ulong Value) + { + return ((delegate* unmanaged)(lpVtbl[10]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this), + Value + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public D3D12_FENCE_FLAGS GetCreationFlags() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12Fence1*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : ID3D12Fence.Interface + { + [VtblIndex(11)] + D3D12_FENCE_FLAGS GetCreationFlags(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetCompletedValue; + + [NativeTypeName("HRESULT (UINT64, HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged SetEventOnCompletion; + + [NativeTypeName("HRESULT (UINT64) __attribute__((stdcall))")] + public delegate* unmanaged Signal; + + [NativeTypeName("D3D12_FENCE_FLAGS () __attribute__((stdcall))")] + public delegate* unmanaged GetCreationFlags; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList.gen.cs new file mode 100644 index 0000000000..86dfe57420 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList.gen.cs @@ -0,0 +1,1832 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("5B160D0F-AC1B-4185-8BA8-B3AE42A5A455")] +[NativeTypeName("struct ID3D12GraphicsCommandList : ID3D12CommandList")] +[NativeInheritance("ID3D12CommandList")] +public unsafe partial struct ID3D12GraphicsCommandList + : ID3D12GraphicsCommandList.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pPipelineState + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ((delegate* unmanaged)(lpVtbl[25]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pPipelineState + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ((delegate* unmanaged)(lpVtbl[29]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ((delegate* unmanaged)(lpVtbl[30]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pRootSignature + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + public interface Interface : ID3D12CommandList.Interface + { + [VtblIndex(9)] + HRESULT Close(); + + [VtblIndex(10)] + HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState); + + [VtblIndex(11)] + void ClearState(ID3D12PipelineState* pPipelineState); + + [VtblIndex(12)] + void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ); + + [VtblIndex(13)] + void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ); + + [VtblIndex(14)] + void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ); + + [VtblIndex(15)] + void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ); + + [VtblIndex(16)] + void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] + D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] + D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ); + + [VtblIndex(17)] + void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource); + + [VtblIndex(18)] + void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] + D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ); + + [VtblIndex(19)] + void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ); + + [VtblIndex(20)] + void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ); + + [VtblIndex(21)] + void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ); + + [VtblIndex(22)] + void RSSetScissorRects(uint NumRects, [NativeTypeName("const D3D12_RECT *")] RECT* pRects); + + [VtblIndex(23)] + void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor); + + [VtblIndex(24)] + void OMSetStencilRef(uint StencilRef); + + [VtblIndex(25)] + void SetPipelineState(ID3D12PipelineState* pPipelineState); + + [VtblIndex(26)] + void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ); + + [VtblIndex(27)] + void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList); + + [VtblIndex(28)] + void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] + ID3D12DescriptorHeap** ppDescriptorHeaps + ); + + [VtblIndex(29)] + void SetComputeRootSignature(ID3D12RootSignature* pRootSignature); + + [VtblIndex(30)] + void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature); + + [VtblIndex(31)] + void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ); + + [VtblIndex(32)] + void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ); + + [VtblIndex(33)] + void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ); + + [VtblIndex(34)] + void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ); + + [VtblIndex(35)] + void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ); + + [VtblIndex(36)] + void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ); + + [VtblIndex(37)] + void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ); + + [VtblIndex(38)] + void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ); + + [VtblIndex(39)] + void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ); + + [VtblIndex(40)] + void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ); + + [VtblIndex(41)] + void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ); + + [VtblIndex(42)] + void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ); + + [VtblIndex(43)] + void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ); + + [VtblIndex(44)] + void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ); + + [VtblIndex(45)] + void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ); + + [VtblIndex(46)] + void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ); + + [VtblIndex(47)] + void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ); + + [VtblIndex(48)] + void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ); + + [VtblIndex(49)] + void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ); + + [VtblIndex(50)] + void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ); + + [VtblIndex(51)] + void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ); + + [VtblIndex(52)] + void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(53)] + void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(54)] + void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ); + + [VtblIndex(55)] + void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ); + + [VtblIndex(56)] + void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(57)] + void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(58)] + void EndEvent(); + + [VtblIndex(59)] + void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList1.gen.cs new file mode 100644 index 0000000000..c3b1265c3c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList1.gen.cs @@ -0,0 +1,1800 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("553103FB-1FE7-4557-BB38-946D7D0E7CA7")] +[NativeTypeName("struct ID3D12GraphicsCommandList1 : ID3D12GraphicsCommandList")] +[NativeInheritance("ID3D12GraphicsCommandList")] +public unsafe partial struct ID3D12GraphicsCommandList1 + : ID3D12GraphicsCommandList1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList1*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList1*)Unsafe.AsPointer(ref this), + Mask + ); + } + + public interface Interface : ID3D12GraphicsCommandList.Interface + { + [VtblIndex(60)] + void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ); + + [VtblIndex(61)] + void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ); + + [VtblIndex(62)] + void OMSetDepthBounds(float Min, float Max); + + [VtblIndex(63)] + void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ); + + [VtblIndex(64)] + void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ); + + [VtblIndex(65)] + void SetViewInstanceMask(uint Mask); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList2.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList2.gen.cs new file mode 100644 index 0000000000..3499f64338 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList2.gen.cs @@ -0,0 +1,1793 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("38C3E585-FF17-412C-9150-4FC6F9D72A28")] +[NativeTypeName("struct ID3D12GraphicsCommandList2 : ID3D12GraphicsCommandList1")] +[NativeInheritance("ID3D12GraphicsCommandList1")] +[SupportedOSPlatform("windows10.0")] +public unsafe partial struct ID3D12GraphicsCommandList2 + : ID3D12GraphicsCommandList2.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList2*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[66]) + )((ID3D12GraphicsCommandList2*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + public interface Interface : ID3D12GraphicsCommandList1.Interface + { + [VtblIndex(66)] + void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList3.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList3.gen.cs new file mode 100644 index 0000000000..1a8b08f123 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList3.gen.cs @@ -0,0 +1,1809 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D")] +[NativeTypeName("struct ID3D12GraphicsCommandList3 : ID3D12GraphicsCommandList2")] +[NativeInheritance("ID3D12GraphicsCommandList2")] +[SupportedOSPlatform("windows10.0")] +public unsafe partial struct ID3D12GraphicsCommandList3 + : ID3D12GraphicsCommandList3.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[66]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList3*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[67]) + )((ID3D12GraphicsCommandList3*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + public interface Interface : ID3D12GraphicsCommandList2.Interface + { + [VtblIndex(67)] + void SetProtectedResourceSession(ID3D12ProtectedResourceSession* pProtectedResourceSession); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList4.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList4.gen.cs new file mode 100644 index 0000000000..a5e05b2e30 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList4.gen.cs @@ -0,0 +1,2133 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8754318E-D3A9-4541-98CF-645B50DC4874")] +[NativeTypeName("struct ID3D12GraphicsCommandList4 : ID3D12GraphicsCommandList3")] +[NativeInheritance("ID3D12GraphicsCommandList3")] +[SupportedOSPlatform("windows10.0.17763.0")] +public unsafe partial struct ID3D12GraphicsCommandList4 + : ID3D12GraphicsCommandList4.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList4)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[66]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[67]) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void BeginRenderPass( + uint NumRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_RENDER_TARGET_DESC *")] + D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *")] + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, + D3D12_RENDER_PASS_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void>)(lpVtbl[68]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + NumRenderTargets, + pRenderTargets, + pDepthStencil, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void EndRenderPass() + { + ((delegate* unmanaged)(lpVtbl[69]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void InitializeMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pInitializationParametersData, + [NativeTypeName("SIZE_T")] nuint InitializationParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[70]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pMetaCommand, + pInitializationParametersData, + InitializationParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void ExecuteMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pExecutionParametersData, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[71]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pMetaCommand, + pExecutionParametersData, + ExecutionParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void BuildRaytracingAccelerationStructure( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, + uint NumPostbuildInfoDescs, + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void>)(lpVtbl[72]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDesc, + NumPostbuildInfoDescs, + pPostbuildInfoDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void EmitRaytracingAccelerationStructurePostbuildInfo( + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, + uint NumSourceAccelerationStructures, + [NativeTypeName("const D3D12_GPU_VIRTUAL_ADDRESS *")] + ulong* pSourceAccelerationStructureData + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void>)(lpVtbl[73]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pDesc, + NumSourceAccelerationStructures, + pSourceAccelerationStructureData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void CopyRaytracingAccelerationStructure( + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong DestAccelerationStructureData, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong SourceAccelerationStructureData, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList4*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void>)(lpVtbl[74]) + )( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + DestAccelerationStructureData, + SourceAccelerationStructureData, + Mode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void SetPipelineState1(ID3D12StateObject* pStateObject) + { + ((delegate* unmanaged)(lpVtbl[75]))( + (ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), + pStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DispatchRays( + [NativeTypeName("const D3D12_DISPATCH_RAYS_DESC *")] D3D12_DISPATCH_RAYS_DESC* pDesc + ) + { + ( + (delegate* unmanaged)( + lpVtbl[76] + ) + )((ID3D12GraphicsCommandList4*)Unsafe.AsPointer(ref this), pDesc); + } + + public interface Interface : ID3D12GraphicsCommandList3.Interface + { + [VtblIndex(68)] + void BeginRenderPass( + uint NumRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_RENDER_TARGET_DESC *")] + D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *")] + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, + D3D12_RENDER_PASS_FLAGS Flags + ); + + [VtblIndex(69)] + void EndRenderPass(); + + [VtblIndex(70)] + void InitializeMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pInitializationParametersData, + [NativeTypeName("SIZE_T")] nuint InitializationParametersDataSizeInBytes + ); + + [VtblIndex(71)] + void ExecuteMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pExecutionParametersData, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersDataSizeInBytes + ); + + [VtblIndex(72)] + void BuildRaytracingAccelerationStructure( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, + uint NumPostbuildInfoDescs, + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs + ); + + [VtblIndex(73)] + void EmitRaytracingAccelerationStructurePostbuildInfo( + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, + uint NumSourceAccelerationStructures, + [NativeTypeName("const D3D12_GPU_VIRTUAL_ADDRESS *")] + ulong* pSourceAccelerationStructureData + ); + + [VtblIndex(74)] + void CopyRaytracingAccelerationStructure( + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong DestAccelerationStructureData, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong SourceAccelerationStructureData, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode + ); + + [VtblIndex(75)] + void SetPipelineState1(ID3D12StateObject* pStateObject); + + [VtblIndex(76)] + void DispatchRays( + [NativeTypeName("const D3D12_DISPATCH_RAYS_DESC *")] D3D12_DISPATCH_RAYS_DESC* pDesc + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (UINT, const D3D12_RENDER_PASS_RENDER_TARGET_DESC *, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *, D3D12_RENDER_PASS_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void> BeginRenderPass; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndRenderPass; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> InitializeMetaCommand; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> ExecuteMetaCommand; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *, UINT, const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void> BuildRaytracingAccelerationStructure; + + [NativeTypeName( + "void (const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *, UINT, const D3D12_GPU_VIRTUAL_ADDRESS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void> EmitRaytracingAccelerationStructurePostbuildInfo; + + [NativeTypeName( + "void (D3D12_GPU_VIRTUAL_ADDRESS, D3D12_GPU_VIRTUAL_ADDRESS, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void> CopyRaytracingAccelerationStructure; + + [NativeTypeName("void (ID3D12StateObject *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState1; + + [NativeTypeName("void (const D3D12_DISPATCH_RAYS_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged DispatchRays; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList5.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList5.gen.cs new file mode 100644 index 0000000000..7124e3245b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList5.gen.cs @@ -0,0 +1,2124 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("55050859-4024-474C-87F5-6472EAEE44EA")] +[NativeTypeName("struct ID3D12GraphicsCommandList5 : ID3D12GraphicsCommandList4")] +[NativeInheritance("ID3D12GraphicsCommandList4")] +public unsafe partial struct ID3D12GraphicsCommandList5 + : ID3D12GraphicsCommandList5.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList5)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[66]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[67]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void BeginRenderPass( + uint NumRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_RENDER_TARGET_DESC *")] + D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *")] + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, + D3D12_RENDER_PASS_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void>)(lpVtbl[68]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + NumRenderTargets, + pRenderTargets, + pDepthStencil, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void EndRenderPass() + { + ((delegate* unmanaged)(lpVtbl[69]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void InitializeMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pInitializationParametersData, + [NativeTypeName("SIZE_T")] nuint InitializationParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[70]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pMetaCommand, + pInitializationParametersData, + InitializationParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void ExecuteMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pExecutionParametersData, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[71]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pMetaCommand, + pExecutionParametersData, + ExecutionParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void BuildRaytracingAccelerationStructure( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, + uint NumPostbuildInfoDescs, + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void>)(lpVtbl[72]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDesc, + NumPostbuildInfoDescs, + pPostbuildInfoDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void EmitRaytracingAccelerationStructurePostbuildInfo( + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, + uint NumSourceAccelerationStructures, + [NativeTypeName("const D3D12_GPU_VIRTUAL_ADDRESS *")] + ulong* pSourceAccelerationStructureData + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void>)(lpVtbl[73]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pDesc, + NumSourceAccelerationStructures, + pSourceAccelerationStructureData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void CopyRaytracingAccelerationStructure( + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong DestAccelerationStructureData, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong SourceAccelerationStructureData, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void>)(lpVtbl[74]) + )( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + DestAccelerationStructureData, + SourceAccelerationStructureData, + Mode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void SetPipelineState1(ID3D12StateObject* pStateObject) + { + ((delegate* unmanaged)(lpVtbl[75]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + pStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DispatchRays( + [NativeTypeName("const D3D12_DISPATCH_RAYS_DESC *")] D3D12_DISPATCH_RAYS_DESC* pDesc + ) + { + ( + (delegate* unmanaged)( + lpVtbl[76] + ) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void RSSetShadingRate( + D3D12_SHADING_RATE baseShadingRate, + [NativeTypeName("const D3D12_SHADING_RATE_COMBINER *")] + D3D12_SHADING_RATE_COMBINER* combiners + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList5*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void>)(lpVtbl[77]) + )((ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), baseShadingRate, combiners); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void RSSetShadingRateImage(ID3D12Resource* shadingRateImage) + { + ((delegate* unmanaged)(lpVtbl[78]))( + (ID3D12GraphicsCommandList5*)Unsafe.AsPointer(ref this), + shadingRateImage + ); + } + + public interface Interface : ID3D12GraphicsCommandList4.Interface + { + [VtblIndex(77)] + void RSSetShadingRate( + D3D12_SHADING_RATE baseShadingRate, + [NativeTypeName("const D3D12_SHADING_RATE_COMBINER *")] + D3D12_SHADING_RATE_COMBINER* combiners + ); + + [VtblIndex(78)] + void RSSetShadingRateImage(ID3D12Resource* shadingRateImage); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (UINT, const D3D12_RENDER_PASS_RENDER_TARGET_DESC *, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *, D3D12_RENDER_PASS_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void> BeginRenderPass; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndRenderPass; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> InitializeMetaCommand; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> ExecuteMetaCommand; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *, UINT, const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void> BuildRaytracingAccelerationStructure; + + [NativeTypeName( + "void (const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *, UINT, const D3D12_GPU_VIRTUAL_ADDRESS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void> EmitRaytracingAccelerationStructurePostbuildInfo; + + [NativeTypeName( + "void (D3D12_GPU_VIRTUAL_ADDRESS, D3D12_GPU_VIRTUAL_ADDRESS, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void> CopyRaytracingAccelerationStructure; + + [NativeTypeName("void (ID3D12StateObject *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState1; + + [NativeTypeName("void (const D3D12_DISPATCH_RAYS_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged DispatchRays; + + [NativeTypeName( + "void (D3D12_SHADING_RATE, const D3D12_SHADING_RATE_COMBINER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void> RSSetShadingRate; + + [NativeTypeName("void (ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetShadingRateImage; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList6.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList6.gen.cs new file mode 100644 index 0000000000..1f16c61b8f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList6.gen.cs @@ -0,0 +1,2134 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C3827890-E548-4CFA-96CF-5689A9370F80")] +[NativeTypeName("struct ID3D12GraphicsCommandList6 : ID3D12GraphicsCommandList5")] +[NativeInheritance("ID3D12GraphicsCommandList5")] +public unsafe partial struct ID3D12GraphicsCommandList6 + : ID3D12GraphicsCommandList6.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList6)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[66]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[67]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void BeginRenderPass( + uint NumRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_RENDER_TARGET_DESC *")] + D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *")] + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, + D3D12_RENDER_PASS_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void>)(lpVtbl[68]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + NumRenderTargets, + pRenderTargets, + pDepthStencil, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void EndRenderPass() + { + ((delegate* unmanaged)(lpVtbl[69]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void InitializeMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pInitializationParametersData, + [NativeTypeName("SIZE_T")] nuint InitializationParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[70]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pMetaCommand, + pInitializationParametersData, + InitializationParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void ExecuteMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pExecutionParametersData, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[71]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pMetaCommand, + pExecutionParametersData, + ExecutionParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void BuildRaytracingAccelerationStructure( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, + uint NumPostbuildInfoDescs, + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void>)(lpVtbl[72]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDesc, + NumPostbuildInfoDescs, + pPostbuildInfoDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void EmitRaytracingAccelerationStructurePostbuildInfo( + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, + uint NumSourceAccelerationStructures, + [NativeTypeName("const D3D12_GPU_VIRTUAL_ADDRESS *")] + ulong* pSourceAccelerationStructureData + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void>)(lpVtbl[73]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pDesc, + NumSourceAccelerationStructures, + pSourceAccelerationStructureData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void CopyRaytracingAccelerationStructure( + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong DestAccelerationStructureData, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong SourceAccelerationStructureData, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void>)(lpVtbl[74]) + )( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + DestAccelerationStructureData, + SourceAccelerationStructureData, + Mode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void SetPipelineState1(ID3D12StateObject* pStateObject) + { + ((delegate* unmanaged)(lpVtbl[75]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + pStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DispatchRays( + [NativeTypeName("const D3D12_DISPATCH_RAYS_DESC *")] D3D12_DISPATCH_RAYS_DESC* pDesc + ) + { + ( + (delegate* unmanaged)( + lpVtbl[76] + ) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void RSSetShadingRate( + D3D12_SHADING_RATE baseShadingRate, + [NativeTypeName("const D3D12_SHADING_RATE_COMBINER *")] + D3D12_SHADING_RATE_COMBINER* combiners + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList6*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void>)(lpVtbl[77]) + )((ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), baseShadingRate, combiners); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void RSSetShadingRateImage(ID3D12Resource* shadingRateImage) + { + ((delegate* unmanaged)(lpVtbl[78]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + shadingRateImage + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void DispatchMesh(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[79]))( + (ID3D12GraphicsCommandList6*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + public interface Interface : ID3D12GraphicsCommandList5.Interface + { + [VtblIndex(79)] + void DispatchMesh(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (UINT, const D3D12_RENDER_PASS_RENDER_TARGET_DESC *, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *, D3D12_RENDER_PASS_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void> BeginRenderPass; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndRenderPass; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> InitializeMetaCommand; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> ExecuteMetaCommand; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *, UINT, const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void> BuildRaytracingAccelerationStructure; + + [NativeTypeName( + "void (const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *, UINT, const D3D12_GPU_VIRTUAL_ADDRESS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void> EmitRaytracingAccelerationStructurePostbuildInfo; + + [NativeTypeName( + "void (D3D12_GPU_VIRTUAL_ADDRESS, D3D12_GPU_VIRTUAL_ADDRESS, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void> CopyRaytracingAccelerationStructure; + + [NativeTypeName("void (ID3D12StateObject *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState1; + + [NativeTypeName("void (const D3D12_DISPATCH_RAYS_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged DispatchRays; + + [NativeTypeName( + "void (D3D12_SHADING_RATE, const D3D12_SHADING_RATE_COMBINER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void> RSSetShadingRate; + + [NativeTypeName("void (ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetShadingRateImage; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DispatchMesh; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList7.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList7.gen.cs new file mode 100644 index 0000000000..512ccfd6f7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList7.gen.cs @@ -0,0 +1,2160 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("DD171223-8B61-4769-90E3-160CCDE4E2C1")] +[NativeTypeName("struct ID3D12GraphicsCommandList7 : ID3D12GraphicsCommandList6")] +[NativeInheritance("ID3D12GraphicsCommandList6")] +public unsafe partial struct ID3D12GraphicsCommandList7 + : ID3D12GraphicsCommandList7.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList7)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[66]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[67]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void BeginRenderPass( + uint NumRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_RENDER_TARGET_DESC *")] + D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *")] + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, + D3D12_RENDER_PASS_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void>)(lpVtbl[68]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + NumRenderTargets, + pRenderTargets, + pDepthStencil, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void EndRenderPass() + { + ((delegate* unmanaged)(lpVtbl[69]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void InitializeMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pInitializationParametersData, + [NativeTypeName("SIZE_T")] nuint InitializationParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[70]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pMetaCommand, + pInitializationParametersData, + InitializationParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void ExecuteMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pExecutionParametersData, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[71]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pMetaCommand, + pExecutionParametersData, + ExecutionParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void BuildRaytracingAccelerationStructure( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, + uint NumPostbuildInfoDescs, + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void>)(lpVtbl[72]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDesc, + NumPostbuildInfoDescs, + pPostbuildInfoDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void EmitRaytracingAccelerationStructurePostbuildInfo( + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, + uint NumSourceAccelerationStructures, + [NativeTypeName("const D3D12_GPU_VIRTUAL_ADDRESS *")] + ulong* pSourceAccelerationStructureData + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void>)(lpVtbl[73]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pDesc, + NumSourceAccelerationStructures, + pSourceAccelerationStructureData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void CopyRaytracingAccelerationStructure( + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong DestAccelerationStructureData, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong SourceAccelerationStructureData, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void>)(lpVtbl[74]) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + DestAccelerationStructureData, + SourceAccelerationStructureData, + Mode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void SetPipelineState1(ID3D12StateObject* pStateObject) + { + ((delegate* unmanaged)(lpVtbl[75]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + pStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DispatchRays( + [NativeTypeName("const D3D12_DISPATCH_RAYS_DESC *")] D3D12_DISPATCH_RAYS_DESC* pDesc + ) + { + ( + (delegate* unmanaged)( + lpVtbl[76] + ) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void RSSetShadingRate( + D3D12_SHADING_RATE baseShadingRate, + [NativeTypeName("const D3D12_SHADING_RATE_COMBINER *")] + D3D12_SHADING_RATE_COMBINER* combiners + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList7*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void>)(lpVtbl[77]) + )((ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), baseShadingRate, combiners); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void RSSetShadingRateImage(ID3D12Resource* shadingRateImage) + { + ((delegate* unmanaged)(lpVtbl[78]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + shadingRateImage + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void DispatchMesh(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[79]))( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ) + { + ( + (delegate* unmanaged)( + lpVtbl[80] + ) + )( + (ID3D12GraphicsCommandList7*)Unsafe.AsPointer(ref this), + NumBarrierGroups, + pBarrierGroups + ); + } + + public interface Interface : ID3D12GraphicsCommandList6.Interface + { + [VtblIndex(80)] + void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (UINT, const D3D12_RENDER_PASS_RENDER_TARGET_DESC *, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *, D3D12_RENDER_PASS_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void> BeginRenderPass; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndRenderPass; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> InitializeMetaCommand; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> ExecuteMetaCommand; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *, UINT, const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void> BuildRaytracingAccelerationStructure; + + [NativeTypeName( + "void (const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *, UINT, const D3D12_GPU_VIRTUAL_ADDRESS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void> EmitRaytracingAccelerationStructurePostbuildInfo; + + [NativeTypeName( + "void (D3D12_GPU_VIRTUAL_ADDRESS, D3D12_GPU_VIRTUAL_ADDRESS, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void> CopyRaytracingAccelerationStructure; + + [NativeTypeName("void (ID3D12StateObject *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState1; + + [NativeTypeName("void (const D3D12_DISPATCH_RAYS_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged DispatchRays; + + [NativeTypeName( + "void (D3D12_SHADING_RATE, const D3D12_SHADING_RATE_COMBINER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void> RSSetShadingRate; + + [NativeTypeName("void (ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetShadingRateImage; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DispatchMesh; + + [NativeTypeName("void (UINT32, const D3D12_BARRIER_GROUP *) __attribute__((stdcall))")] + public delegate* unmanaged Barrier; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList8.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList8.gen.cs new file mode 100644 index 0000000000..802f69614a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList8.gen.cs @@ -0,0 +1,2173 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("EE936EF9-599D-4D28-938E-23C4AD05CE51")] +[NativeTypeName("struct ID3D12GraphicsCommandList8 : ID3D12GraphicsCommandList7")] +[NativeInheritance("ID3D12GraphicsCommandList7")] +public unsafe partial struct ID3D12GraphicsCommandList8 + : ID3D12GraphicsCommandList8.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12GraphicsCommandList8)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator, ID3D12PipelineState* pInitialState) + { + return ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int>)(lpVtbl[10]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pAllocator, pInitialState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInstanced( + uint VertexCountPerInstance, + uint InstanceCount, + uint StartVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + VertexCountPerInstance, + InstanceCount, + StartVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawIndexedInstanced( + uint IndexCountPerInstance, + uint InstanceCount, + uint StartIndexLocation, + int BaseVertexLocation, + uint StartInstanceLocation + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + IndexCountPerInstance, + InstanceCount, + StartIndexLocation, + BaseVertexLocation, + StartInstanceLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void Dispatch(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void CopyBufferRegion( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + [NativeTypeName("UINT64")] ulong NumBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void>)(lpVtbl[15]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + NumBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void CopyTextureRegion( + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pDst, + uint DstX, + uint DstY, + uint DstZ, + [NativeTypeName("const D3D12_TEXTURE_COPY_LOCATION *")] D3D12_TEXTURE_COPY_LOCATION* pSrc, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void>)(lpVtbl[16]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDst, + DstX, + DstY, + DstZ, + pSrc, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void CopyResource(ID3D12Resource* pDstResource, ID3D12Resource* pSrcResource) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + ID3D12Resource*, + void>)(lpVtbl[17]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pDstResource, pSrcResource); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void CopyTiles( + ID3D12Resource* pTiledResource, + [NativeTypeName("const D3D12_TILED_RESOURCE_COORDINATE *")] + D3D12_TILED_RESOURCE_COORDINATE* pTileRegionStartCoordinate, + [NativeTypeName("const D3D12_TILE_REGION_SIZE *")] D3D12_TILE_REGION_SIZE* pTileRegionSize, + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong BufferStartOffsetInBytes, + D3D12_TILE_COPY_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void>)(lpVtbl[18]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pTiledResource, + pTileRegionStartCoordinate, + pTileRegionSize, + pBuffer, + BufferStartOffsetInBytes, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void ResolveSubresource( + ID3D12Resource* pDstResource, + uint DstSubresource, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + DXGI_FORMAT Format + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void>)(lpVtbl[19]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + pSrcResource, + SrcSubresource, + Format + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void IASetPrimitiveTopology( + [NativeTypeName("D3D12_PRIMITIVE_TOPOLOGY")] D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), PrimitiveTopology); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RSSetViewports( + uint NumViewports, + [NativeTypeName("const D3D12_VIEWPORT *")] D3D12_VIEWPORT* pViewports + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), NumViewports, pViewports); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void RSSetScissorRects( + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void OMSetBlendFactor([NativeTypeName("const FLOAT[4]")] float* BlendFactor) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + BlendFactor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void OMSetStencilRef(uint StencilRef) + { + ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + StencilRef + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetPipelineState(ID3D12PipelineState* pPipelineState) + { + ( + (delegate* unmanaged)( + lpVtbl[25] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged)( + lpVtbl[26] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ExecuteBundle(ID3D12GraphicsCommandList* pCommandList) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pCommandList); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void SetDescriptorHeaps( + uint NumDescriptorHeaps, + [NativeTypeName("ID3D12DescriptorHeap *const *")] ID3D12DescriptorHeap** ppDescriptorHeaps + ) + { + ( + (delegate* unmanaged)( + lpVtbl[28] + ) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + NumDescriptorHeaps, + ppDescriptorHeaps + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetComputeRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetGraphicsRootSignature(ID3D12RootSignature* pRootSignature) + { + ( + (delegate* unmanaged)( + lpVtbl[30] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pRootSignature); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetComputeRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[31]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetGraphicsRootDescriptorTable( + uint RootParameterIndex, + D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void>)(lpVtbl[32]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BaseDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetComputeRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetGraphicsRoot32BitConstant( + uint RootParameterIndex, + uint SrcData, + uint DestOffsetIn32BitValues + ) + { + ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + SrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetComputeRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[35] + ) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetGraphicsRoot32BitConstants( + uint RootParameterIndex, + uint Num32BitValuesToSet, + [NativeTypeName("const void *")] void* pSrcData, + uint DestOffsetIn32BitValues + ) + { + ( + (delegate* unmanaged)( + lpVtbl[36] + ) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + Num32BitValuesToSet, + pSrcData, + DestOffsetIn32BitValues + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetComputeRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetGraphicsRootConstantBufferView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[38]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void SetComputeRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetGraphicsRootShaderResourceView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[40]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void SetComputeRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[41]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetGraphicsRootUnorderedAccessView( + uint RootParameterIndex, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong BufferLocation + ) + { + ((delegate* unmanaged)(lpVtbl[42]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RootParameterIndex, + BufferLocation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void IASetIndexBuffer( + [NativeTypeName("const D3D12_INDEX_BUFFER_VIEW *")] D3D12_INDEX_BUFFER_VIEW* pView + ) + { + ( + (delegate* unmanaged)( + lpVtbl[43] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pView); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void IASetVertexBuffers( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_VERTEX_BUFFER_VIEW *")] D3D12_VERTEX_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void>)(lpVtbl[44]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SOSetTargets( + uint StartSlot, + uint NumViews, + [NativeTypeName("const D3D12_STREAM_OUTPUT_BUFFER_VIEW *")] + D3D12_STREAM_OUTPUT_BUFFER_VIEW* pViews + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void>)(lpVtbl[45]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), StartSlot, NumViews, pViews); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void OMSetRenderTargets( + uint NumRenderTargetDescriptors, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pRenderTargetDescriptors, + BOOL RTsSingleHandleToDescriptorRange, + [NativeTypeName("const D3D12_CPU_DESCRIPTOR_HANDLE *")] + D3D12_CPU_DESCRIPTOR_HANDLE* pDepthStencilDescriptor + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void>)(lpVtbl[46]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + NumRenderTargetDescriptors, + pRenderTargetDescriptors, + RTsSingleHandleToDescriptorRange, + pDepthStencilDescriptor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void ClearDepthStencilView( + D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView, + D3D12_CLEAR_FLAGS ClearFlags, + float Depth, + [NativeTypeName("UINT8")] byte Stencil, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void>)(lpVtbl[47]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + DepthStencilView, + ClearFlags, + Depth, + Stencil, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void ClearRenderTargetView( + D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView, + [NativeTypeName("const FLOAT[4]")] float* ColorRGBA, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void>)(lpVtbl[48]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + RenderTargetView, + ColorRGBA, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void ClearUnorderedAccessViewUint( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const UINT[4]")] uint* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void>)(lpVtbl[49]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void ClearUnorderedAccessViewFloat( + D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap, + D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle, + ID3D12Resource* pResource, + [NativeTypeName("const FLOAT[4]")] float* Values, + uint NumRects, + [NativeTypeName("const D3D12_RECT *")] RECT* pRects + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void>)(lpVtbl[50]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + ViewGPUHandleInCurrentHeap, + ViewCPUHandle, + pResource, + Values, + NumRects, + pRects + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[51]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[52]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[53]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[54]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[55]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[56]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[57]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[58]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void ExecuteIndirect( + ID3D12CommandSignature* pCommandSignature, + uint MaxCommandCount, + ID3D12Resource* pArgumentBuffer, + [NativeTypeName("UINT64")] ulong ArgumentBufferOffset, + ID3D12Resource* pCountBuffer, + [NativeTypeName("UINT64")] ulong CountBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void>)(lpVtbl[59]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pCommandSignature, + MaxCommandCount, + pArgumentBuffer, + ArgumentBufferOffset, + pCountBuffer, + CountBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void AtomicCopyBufferUINT( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[60]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void AtomicCopyBufferUINT64( + ID3D12Resource* pDstBuffer, + [NativeTypeName("UINT64")] ulong DstOffset, + ID3D12Resource* pSrcBuffer, + [NativeTypeName("UINT64")] ulong SrcOffset, + uint Dependencies, + [NativeTypeName("ID3D12Resource *const *")] ID3D12Resource** ppDependentResources, + [NativeTypeName("const D3D12_SUBRESOURCE_RANGE_UINT64 *")] + D3D12_SUBRESOURCE_RANGE_UINT64* pDependentSubresourceRanges + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void>)(lpVtbl[61]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDstBuffer, + DstOffset, + pSrcBuffer, + SrcOffset, + Dependencies, + ppDependentResources, + pDependentSubresourceRanges + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void OMSetDepthBounds(float Min, float Max) + { + ((delegate* unmanaged)(lpVtbl[62]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + Min, + Max + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void SetSamplePositions( + uint NumSamplesPerPixel, + uint NumPixels, + D3D12_SAMPLE_POSITION* pSamplePositions + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void>)(lpVtbl[63]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + NumSamplesPerPixel, + NumPixels, + pSamplePositions + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void ResolveSubresourceRegion( + ID3D12Resource* pDstResource, + uint DstSubresource, + uint DstX, + uint DstY, + ID3D12Resource* pSrcResource, + uint SrcSubresource, + [NativeTypeName("D3D12_RECT *")] RECT* pSrcRect, + DXGI_FORMAT Format, + D3D12_RESOLVE_MODE ResolveMode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void>)(lpVtbl[64]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDstResource, + DstSubresource, + DstX, + DstY, + pSrcResource, + SrcSubresource, + pSrcRect, + Format, + ResolveMode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void SetViewInstanceMask(uint Mask) + { + ((delegate* unmanaged)(lpVtbl[65]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[66]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[67]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void BeginRenderPass( + uint NumRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_RENDER_TARGET_DESC *")] + D3D12_RENDER_PASS_RENDER_TARGET_DESC* pRenderTargets, + [NativeTypeName("const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *")] + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC* pDepthStencil, + D3D12_RENDER_PASS_FLAGS Flags + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void>)(lpVtbl[68]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + NumRenderTargets, + pRenderTargets, + pDepthStencil, + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void EndRenderPass() + { + ((delegate* unmanaged)(lpVtbl[69]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void InitializeMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pInitializationParametersData, + [NativeTypeName("SIZE_T")] nuint InitializationParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[70]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pMetaCommand, + pInitializationParametersData, + InitializationParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void ExecuteMetaCommand( + ID3D12MetaCommand* pMetaCommand, + [NativeTypeName("const void *")] void* pExecutionParametersData, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersDataSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ID3D12MetaCommand*, + void*, + nuint, + void>)(lpVtbl[71]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pMetaCommand, + pExecutionParametersData, + ExecutionParametersDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void BuildRaytracingAccelerationStructure( + [NativeTypeName("const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *")] + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC* pDesc, + uint NumPostbuildInfoDescs, + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pPostbuildInfoDescs + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void>)(lpVtbl[72]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDesc, + NumPostbuildInfoDescs, + pPostbuildInfoDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void EmitRaytracingAccelerationStructurePostbuildInfo( + [NativeTypeName("const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *")] + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC* pDesc, + uint NumSourceAccelerationStructures, + [NativeTypeName("const D3D12_GPU_VIRTUAL_ADDRESS *")] + ulong* pSourceAccelerationStructureData + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void>)(lpVtbl[73]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pDesc, + NumSourceAccelerationStructures, + pSourceAccelerationStructureData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void CopyRaytracingAccelerationStructure( + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong DestAccelerationStructureData, + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] ulong SourceAccelerationStructureData, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void>)(lpVtbl[74]) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + DestAccelerationStructureData, + SourceAccelerationStructureData, + Mode + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void SetPipelineState1(ID3D12StateObject* pStateObject) + { + ((delegate* unmanaged)(lpVtbl[75]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + pStateObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DispatchRays( + [NativeTypeName("const D3D12_DISPATCH_RAYS_DESC *")] D3D12_DISPATCH_RAYS_DESC* pDesc + ) + { + ( + (delegate* unmanaged)( + lpVtbl[76] + ) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void RSSetShadingRate( + D3D12_SHADING_RATE baseShadingRate, + [NativeTypeName("const D3D12_SHADING_RATE_COMBINER *")] + D3D12_SHADING_RATE_COMBINER* combiners + ) + { + ( + (delegate* unmanaged< + ID3D12GraphicsCommandList8*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void>)(lpVtbl[77]) + )((ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), baseShadingRate, combiners); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void RSSetShadingRateImage(ID3D12Resource* shadingRateImage) + { + ((delegate* unmanaged)(lpVtbl[78]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + shadingRateImage + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void DispatchMesh(uint ThreadGroupCountX, uint ThreadGroupCountY, uint ThreadGroupCountZ) + { + ((delegate* unmanaged)(lpVtbl[79]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + ThreadGroupCountX, + ThreadGroupCountY, + ThreadGroupCountZ + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ) + { + ( + (delegate* unmanaged)( + lpVtbl[80] + ) + )( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + NumBarrierGroups, + pBarrierGroups + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public void OMSetFrontAndBackStencilRef(uint FrontStencilRef, uint BackStencilRef) + { + ((delegate* unmanaged)(lpVtbl[81]))( + (ID3D12GraphicsCommandList8*)Unsafe.AsPointer(ref this), + FrontStencilRef, + BackStencilRef + ); + } + + public interface Interface : ID3D12GraphicsCommandList7.Interface + { + [VtblIndex(81)] + void OMSetFrontAndBackStencilRef(uint FrontStencilRef, uint BackStencilRef); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName( + "HRESULT (ID3D12CommandAllocator *, ID3D12PipelineState *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandAllocator*, + ID3D12PipelineState*, + int> Reset; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawInstanced; + + [NativeTypeName("void (UINT, UINT, UINT, INT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DrawIndexedInstanced; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged Dispatch; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + ulong, + void> CopyBufferRegion; + + [NativeTypeName( + "void (const D3D12_TEXTURE_COPY_LOCATION *, UINT, UINT, UINT, const D3D12_TEXTURE_COPY_LOCATION *, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_TEXTURE_COPY_LOCATION*, + uint, + uint, + uint, + D3D12_TEXTURE_COPY_LOCATION*, + D3D12_BOX*, + void> CopyTextureRegion; + + [NativeTypeName("void (ID3D12Resource *, ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged CopyResource; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_TILED_RESOURCE_COORDINATE *, const D3D12_TILE_REGION_SIZE *, ID3D12Resource *, UINT64, D3D12_TILE_COPY_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_TILED_RESOURCE_COORDINATE*, + D3D12_TILE_REGION_SIZE*, + ID3D12Resource*, + ulong, + D3D12_TILE_COPY_FLAGS, + void> CopyTiles; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, ID3D12Resource *, UINT, DXGI_FORMAT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + ID3D12Resource*, + uint, + DXGI_FORMAT, + void> ResolveSubresource; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY) __attribute__((stdcall))")] + public delegate* unmanaged IASetPrimitiveTopology; + + [NativeTypeName("void (UINT, const D3D12_VIEWPORT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetViewports; + + [NativeTypeName("void (UINT, const D3D12_RECT *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetScissorRects; + + [NativeTypeName("void (const FLOAT *) __attribute__((stdcall))")] + public delegate* unmanaged OMSetBlendFactor; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetStencilRef; + + [NativeTypeName("void (ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName("void (ID3D12GraphicsCommandList *) __attribute__((stdcall))")] + public delegate* unmanaged ExecuteBundle; + + [NativeTypeName("void (UINT, ID3D12DescriptorHeap *const *) __attribute__((stdcall))")] + public delegate* unmanaged SetDescriptorHeaps; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootSignature; + + [NativeTypeName("void (ID3D12RootSignature *) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootSignature; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetComputeRootDescriptorTable; + + [NativeTypeName("void (UINT, D3D12_GPU_DESCRIPTOR_HANDLE) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_GPU_DESCRIPTOR_HANDLE, + void> SetGraphicsRootDescriptorTable; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRoot32BitConstant; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetComputeRoot32BitConstants; + + [NativeTypeName("void (UINT, UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + void*, + uint, + void> SetGraphicsRoot32BitConstants; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootConstantBufferView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootShaderResourceView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetComputeRootUnorderedAccessView; + + [NativeTypeName("void (UINT, D3D12_GPU_VIRTUAL_ADDRESS) __attribute__((stdcall))")] + public delegate* unmanaged SetGraphicsRootUnorderedAccessView; + + [NativeTypeName("void (const D3D12_INDEX_BUFFER_VIEW *) __attribute__((stdcall))")] + public delegate* unmanaged IASetIndexBuffer; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_VERTEX_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_VERTEX_BUFFER_VIEW*, + void> IASetVertexBuffers; + + [NativeTypeName( + "void (UINT, UINT, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_STREAM_OUTPUT_BUFFER_VIEW*, + void> SOSetTargets; + + [NativeTypeName( + "void (UINT, const D3D12_CPU_DESCRIPTOR_HANDLE *, BOOL, const D3D12_CPU_DESCRIPTOR_HANDLE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_CPU_DESCRIPTOR_HANDLE*, + BOOL, + D3D12_CPU_DESCRIPTOR_HANDLE*, + void> OMSetRenderTargets; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, D3D12_CLEAR_FLAGS, FLOAT, UINT8, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + D3D12_CLEAR_FLAGS, + float, + byte, + uint, + RECT*, + void> ClearDepthStencilView; + + [NativeTypeName( + "void (D3D12_CPU_DESCRIPTOR_HANDLE, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_CPU_DESCRIPTOR_HANDLE, + float*, + uint, + RECT*, + void> ClearRenderTargetView; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const UINT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + uint*, + uint, + RECT*, + void> ClearUnorderedAccessViewUint; + + [NativeTypeName( + "void (D3D12_GPU_DESCRIPTOR_HANDLE, D3D12_CPU_DESCRIPTOR_HANDLE, ID3D12Resource *, const FLOAT *, UINT, const D3D12_RECT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_DESCRIPTOR_HANDLE, + D3D12_CPU_DESCRIPTOR_HANDLE, + ID3D12Resource*, + float*, + uint, + RECT*, + void> ClearUnorderedAccessViewFloat; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12CommandSignature *, UINT, ID3D12Resource *, UINT64, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12CommandSignature*, + uint, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + void> ExecuteIndirect; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, ID3D12Resource *, UINT64, UINT, ID3D12Resource *const *, const D3D12_SUBRESOURCE_RANGE_UINT64 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + ID3D12Resource*, + ulong, + uint, + ID3D12Resource**, + D3D12_SUBRESOURCE_RANGE_UINT64*, + void> AtomicCopyBufferUINT64; + + [NativeTypeName("void (FLOAT, FLOAT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetDepthBounds; + + [NativeTypeName("void (UINT, UINT, D3D12_SAMPLE_POSITION *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + uint, + uint, + D3D12_SAMPLE_POSITION*, + void> SetSamplePositions; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, UINT, UINT, ID3D12Resource *, UINT, D3D12_RECT *, DXGI_FORMAT, D3D12_RESOLVE_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + uint, + uint, + ID3D12Resource*, + uint, + RECT*, + DXGI_FORMAT, + D3D12_RESOLVE_MODE, + void> ResolveSubresourceRegion; + + [NativeTypeName("void (UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetViewInstanceMask; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (UINT, const D3D12_RENDER_PASS_RENDER_TARGET_DESC *, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *, D3D12_RENDER_PASS_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_RENDER_PASS_RENDER_TARGET_DESC*, + D3D12_RENDER_PASS_DEPTH_STENCIL_DESC*, + D3D12_RENDER_PASS_FLAGS, + void> BeginRenderPass; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndRenderPass; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> InitializeMetaCommand; + + [NativeTypeName( + "void (ID3D12MetaCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12MetaCommand*, + void*, + nuint, + void> ExecuteMetaCommand; + + [NativeTypeName( + "void (const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *, UINT, const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC*, + uint, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + void> BuildRaytracingAccelerationStructure; + + [NativeTypeName( + "void (const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *, UINT, const D3D12_GPU_VIRTUAL_ADDRESS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC*, + uint, + ulong*, + void> EmitRaytracingAccelerationStructurePostbuildInfo; + + [NativeTypeName( + "void (D3D12_GPU_VIRTUAL_ADDRESS, D3D12_GPU_VIRTUAL_ADDRESS, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ulong, + ulong, + D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, + void> CopyRaytracingAccelerationStructure; + + [NativeTypeName("void (ID3D12StateObject *) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineState1; + + [NativeTypeName("void (const D3D12_DISPATCH_RAYS_DESC *) __attribute__((stdcall))")] + public delegate* unmanaged DispatchRays; + + [NativeTypeName( + "void (D3D12_SHADING_RATE, const D3D12_SHADING_RATE_COMBINER *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_SHADING_RATE, + D3D12_SHADING_RATE_COMBINER*, + void> RSSetShadingRate; + + [NativeTypeName("void (ID3D12Resource *) __attribute__((stdcall))")] + public delegate* unmanaged RSSetShadingRateImage; + + [NativeTypeName("void (UINT, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged DispatchMesh; + + [NativeTypeName("void (UINT32, const D3D12_BARRIER_GROUP *) __attribute__((stdcall))")] + public delegate* unmanaged Barrier; + + [NativeTypeName("void (UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged OMSetFrontAndBackStencilRef; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Heap.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Heap.gen.cs new file mode 100644 index 0000000000..fb639b6d56 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Heap.gen.cs @@ -0,0 +1,185 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("6B3B2502-6E51-45B3-90EE-9884265E8DF3")] +[NativeTypeName("struct ID3D12Heap : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12Heap : ID3D12Heap.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Heap)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_HEAP_DESC GetDesc() + { + D3D12_HEAP_DESC result; + return *((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12Heap*)Unsafe.AsPointer(ref this), + &result + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + D3D12_HEAP_DESC GetDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_HEAP_DESC () __attribute__((stdcall))")] + public delegate* unmanaged GetDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Heap1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Heap1.gen.cs new file mode 100644 index 0000000000..9ae0262346 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Heap1.gen.cs @@ -0,0 +1,206 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("572F7389-2168-49E3-9693-D6DF5871BF6D")] +[NativeTypeName("struct ID3D12Heap1 : ID3D12Heap")] +[NativeInheritance("ID3D12Heap")] +public unsafe partial struct ID3D12Heap1 : ID3D12Heap1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Heap1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_HEAP_DESC GetDesc() + { + D3D12_HEAP_DESC result; + return *( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12Heap1*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12Heap1*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12Heap.Interface + { + [VtblIndex(9)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_HEAP_DESC () __attribute__((stdcall))")] + public delegate* unmanaged GetDesc; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12LifetimeOwner.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12LifetimeOwner.gen.cs new file mode 100644 index 0000000000..2c3f23e037 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12LifetimeOwner.gen.cs @@ -0,0 +1,92 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("E667AF9F-CD56-4F46-83CE-032E595D70A8")] +[NativeTypeName("struct ID3D12LifetimeOwner : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12LifetimeOwner : ID3D12LifetimeOwner.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12LifetimeOwner)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12LifetimeOwner*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12LifetimeOwner*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12LifetimeOwner*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void LifetimeStateUpdated(D3D12_LIFETIME_STATE NewState) + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12LifetimeOwner*)Unsafe.AsPointer(ref this), + NewState + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void LifetimeStateUpdated(D3D12_LIFETIME_STATE NewState); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void (D3D12_LIFETIME_STATE) __attribute__((stdcall))")] + public delegate* unmanaged LifetimeStateUpdated; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12LifetimeTracker.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12LifetimeTracker.gen.cs new file mode 100644 index 0000000000..457464a5f8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12LifetimeTracker.gen.cs @@ -0,0 +1,184 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("3FD03D36-4EB1-424A-A582-494ECB8BA813")] +[NativeTypeName("struct ID3D12LifetimeTracker : ID3D12DeviceChild")] +[NativeInheritance("ID3D12DeviceChild")] +public unsafe partial struct ID3D12LifetimeTracker : ID3D12LifetimeTracker.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12LifetimeTracker)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT DestroyOwnedObject(ID3D12DeviceChild* pObject) + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12LifetimeTracker*)Unsafe.AsPointer(ref this), + pObject + ); + } + + public interface Interface : ID3D12DeviceChild.Interface + { + [VtblIndex(8)] + HRESULT DestroyOwnedObject(ID3D12DeviceChild* pObject); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (ID3D12DeviceChild *) __attribute__((stdcall))")] + public delegate* unmanaged DestroyOwnedObject; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12MetaCommand.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12MetaCommand.gen.cs new file mode 100644 index 0000000000..3039cf1dbc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12MetaCommand.gen.cs @@ -0,0 +1,201 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("DBB84C27-36CE-4FC9-B801-F048C46AC570")] +[NativeTypeName("struct ID3D12MetaCommand : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12MetaCommand : ID3D12MetaCommand.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12MetaCommand)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12MetaCommand*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + public ulong GetRequiredParameterResourceSize( + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint ParameterIndex + ) + { + return ( + (delegate* unmanaged< + ID3D12MetaCommand*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint, + ulong>)(lpVtbl[8]) + )((ID3D12MetaCommand*)Unsafe.AsPointer(ref this), Stage, ParameterIndex); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + ulong GetRequiredParameterResourceSize( + D3D12_META_COMMAND_PARAMETER_STAGE Stage, + uint ParameterIndex + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName( + "UINT64 (D3D12_META_COMMAND_PARAMETER_STAGE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_META_COMMAND_PARAMETER_STAGE, + uint, + ulong> GetRequiredParameterResourceSize; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Object.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Object.gen.cs new file mode 100644 index 0000000000..80b6f3eda6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Object.gen.cs @@ -0,0 +1,173 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C4FEC28F-7966-4E95-9F94-F431CB56C3B8")] +[NativeTypeName("struct ID3D12Object : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12Object : ID3D12Object.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Object)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Object*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Object*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Object*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Object*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Object*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Object*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Object*)Unsafe.AsPointer(ref this), + Name + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ); + + [VtblIndex(4)] + HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ); + + [VtblIndex(5)] + HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ); + + [VtblIndex(6)] + HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Pageable.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Pageable.gen.cs new file mode 100644 index 0000000000..c23d77e06b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Pageable.gen.cs @@ -0,0 +1,165 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("63EE58FB-1268-4835-86DA-F008CE62F0D6")] +[NativeTypeName("struct ID3D12Pageable : ID3D12DeviceChild")] +[NativeInheritance("ID3D12DeviceChild")] +public unsafe partial struct ID3D12Pageable : ID3D12Pageable.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Pageable)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Pageable*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + public interface Interface : ID3D12DeviceChild.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary.gen.cs new file mode 100644 index 0000000000..4e70cdbcbc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary.gen.cs @@ -0,0 +1,315 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C64226A8-9201-46AF-B4CC-53FB9FF7414F")] +[NativeTypeName("struct ID3D12PipelineLibrary : ID3D12DeviceChild")] +[NativeInheritance("ID3D12DeviceChild")] +public unsafe partial struct ID3D12PipelineLibrary : ID3D12PipelineLibrary.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12PipelineLibrary)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT StorePipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + ID3D12PipelineState* pPipeline + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), pName, pPipeline); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT LoadGraphicsPipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12PipelineLibrary*, + ushort*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[9]) + )((ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), pName, pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT LoadComputePipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12PipelineLibrary*, + ushort*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), pName, pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + [return: NativeTypeName("SIZE_T")] + public nuint GetSerializedSize() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT Serialize(void* pData, [NativeTypeName("SIZE_T")] nuint DataSizeInBytes) + { + return ((delegate* unmanaged)(lpVtbl[12]))( + (ID3D12PipelineLibrary*)Unsafe.AsPointer(ref this), + pData, + DataSizeInBytes + ); + } + + public interface Interface : ID3D12DeviceChild.Interface + { + [VtblIndex(8)] + HRESULT StorePipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + ID3D12PipelineState* pPipeline + ); + + [VtblIndex(9)] + HRESULT LoadGraphicsPipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ); + + [VtblIndex(10)] + HRESULT LoadComputePipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ); + + [VtblIndex(11)] + [return: NativeTypeName("SIZE_T")] + nuint GetSerializedSize(); + + [VtblIndex(12)] + HRESULT Serialize(void* pData, [NativeTypeName("SIZE_T")] nuint DataSizeInBytes); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (LPCWSTR, ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged StorePipeline; + + [NativeTypeName( + "HRESULT (LPCWSTR, const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ushort*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> LoadGraphicsPipeline; + + [NativeTypeName( + "HRESULT (LPCWSTR, const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ushort*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> LoadComputePipeline; + + [NativeTypeName("SIZE_T () __attribute__((stdcall))")] + public delegate* unmanaged GetSerializedSize; + + [NativeTypeName("HRESULT (void *, SIZE_T) __attribute__((stdcall))")] + public delegate* unmanaged Serialize; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary1.gen.cs new file mode 100644 index 0000000000..dff476a1c4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary1.gen.cs @@ -0,0 +1,324 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("80EABF42-2568-4E5E-BD82-C37F86961DC3")] +[NativeTypeName("struct ID3D12PipelineLibrary1 : ID3D12PipelineLibrary")] +[NativeInheritance("ID3D12PipelineLibrary")] +public unsafe partial struct ID3D12PipelineLibrary1 : ID3D12PipelineLibrary1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12PipelineLibrary1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT StorePipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + ID3D12PipelineState* pPipeline + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), pName, pPipeline); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT LoadGraphicsPipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_GRAPHICS_PIPELINE_STATE_DESC *")] + D3D12_GRAPHICS_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12PipelineLibrary1*, + ushort*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[9]) + )((ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), pName, pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT LoadComputePipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_COMPUTE_PIPELINE_STATE_DESC *")] + D3D12_COMPUTE_PIPELINE_STATE_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12PipelineLibrary1*, + ushort*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int>)(lpVtbl[10]) + )((ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), pName, pDesc, riid, ppPipelineState); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + [return: NativeTypeName("SIZE_T")] + public nuint GetSerializedSize() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT Serialize(void* pData, [NativeTypeName("SIZE_T")] nuint DataSizeInBytes) + { + return ((delegate* unmanaged)(lpVtbl[12]))( + (ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), + pData, + DataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT LoadPipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ) + { + return ( + (delegate* unmanaged< + ID3D12PipelineLibrary1*, + ushort*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[13]) + )((ID3D12PipelineLibrary1*)Unsafe.AsPointer(ref this), pName, pDesc, riid, ppPipelineState); + } + + public interface Interface : ID3D12PipelineLibrary.Interface + { + [VtblIndex(13)] + HRESULT LoadPipeline( + [NativeTypeName("LPCWSTR")] ushort* pName, + [NativeTypeName("const D3D12_PIPELINE_STATE_STREAM_DESC *")] + D3D12_PIPELINE_STATE_STREAM_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppPipelineState + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (LPCWSTR, ID3D12PipelineState *) __attribute__((stdcall))")] + public delegate* unmanaged StorePipeline; + + [NativeTypeName( + "HRESULT (LPCWSTR, const D3D12_GRAPHICS_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ushort*, + D3D12_GRAPHICS_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> LoadGraphicsPipeline; + + [NativeTypeName( + "HRESULT (LPCWSTR, const D3D12_COMPUTE_PIPELINE_STATE_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ushort*, + D3D12_COMPUTE_PIPELINE_STATE_DESC*, + Guid*, + void**, + int> LoadComputePipeline; + + [NativeTypeName("SIZE_T () __attribute__((stdcall))")] + public delegate* unmanaged GetSerializedSize; + + [NativeTypeName("HRESULT (void *, SIZE_T) __attribute__((stdcall))")] + public delegate* unmanaged Serialize; + + [NativeTypeName( + "HRESULT (LPCWSTR, const D3D12_PIPELINE_STATE_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ushort*, + D3D12_PIPELINE_STATE_STREAM_DESC*, + Guid*, + void**, + int> LoadPipeline; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineState.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineState.gen.cs new file mode 100644 index 0000000000..79a95aac89 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12PipelineState.gen.cs @@ -0,0 +1,184 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("765A30F3-F624-4C6F-A828-ACE948622445")] +[NativeTypeName("struct ID3D12PipelineState : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12PipelineState : ID3D12PipelineState.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12PipelineState)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT GetCachedBlob(ID3DBlob** ppBlob) + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12PipelineState*)Unsafe.AsPointer(ref this), + ppBlob + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + HRESULT GetCachedBlob(ID3DBlob** ppBlob); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (ID3DBlob **) __attribute__((stdcall))")] + public delegate* unmanaged GetCachedBlob; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession.gen.cs new file mode 100644 index 0000000000..3833c15d43 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession.gen.cs @@ -0,0 +1,216 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("6CD696F4-F289-40CC-8091-5A6C0A099C3D")] +[NativeTypeName("struct ID3D12ProtectedResourceSession : ID3D12ProtectedSession")] +[NativeInheritance("ID3D12ProtectedSession")] +[SupportedOSPlatform("windows10.0")] +public unsafe partial struct ID3D12ProtectedResourceSession + : ID3D12ProtectedResourceSession.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ProtectedResourceSession)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT GetStatusFence([NativeTypeName("const IID &")] Guid* riid, void** ppFence) + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public D3D12_PROTECTED_SESSION_STATUS GetSessionStatus() + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc() + { + D3D12_PROTECTED_RESOURCE_SESSION_DESC result; + return *( + (delegate* unmanaged< + ID3D12ProtectedResourceSession*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*>)(lpVtbl[10]) + )((ID3D12ProtectedResourceSession*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12ProtectedSession.Interface + { + [VtblIndex(10)] + D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetStatusFence; + + [NativeTypeName("D3D12_PROTECTED_SESSION_STATUS () __attribute__((stdcall))")] + public delegate* unmanaged GetSessionStatus; + + [NativeTypeName("D3D12_PROTECTED_RESOURCE_SESSION_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*> GetDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession1.gen.cs new file mode 100644 index 0000000000..0ffd3c73af --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession1.gen.cs @@ -0,0 +1,237 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("D6F12DD6-76FB-406E-8961-4296EEFC0409")] +[NativeTypeName("struct ID3D12ProtectedResourceSession1 : ID3D12ProtectedResourceSession")] +[NativeInheritance("ID3D12ProtectedResourceSession")] +public unsafe partial struct ID3D12ProtectedResourceSession1 + : ID3D12ProtectedResourceSession1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ProtectedResourceSession1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[5] + ) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT GetStatusFence([NativeTypeName("const IID &")] Guid* riid, void** ppFence) + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), riid, ppFence); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public D3D12_PROTECTED_SESSION_STATUS GetSessionStatus() + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc() + { + D3D12_PROTECTED_RESOURCE_SESSION_DESC result; + return *( + (delegate* unmanaged< + ID3D12ProtectedResourceSession1*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*>)(lpVtbl[10]) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public D3D12_PROTECTED_RESOURCE_SESSION_DESC1 GetDesc1() + { + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 result; + return *( + (delegate* unmanaged< + ID3D12ProtectedResourceSession1*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*>)(lpVtbl[11]) + )((ID3D12ProtectedResourceSession1*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12ProtectedResourceSession.Interface + { + [VtblIndex(11)] + D3D12_PROTECTED_RESOURCE_SESSION_DESC1 GetDesc1(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetStatusFence; + + [NativeTypeName("D3D12_PROTECTED_SESSION_STATUS () __attribute__((stdcall))")] + public delegate* unmanaged GetSessionStatus; + + [NativeTypeName("D3D12_PROTECTED_RESOURCE_SESSION_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC*> GetDesc; + + [NativeTypeName("D3D12_PROTECTED_RESOURCE_SESSION_DESC1 () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*, + D3D12_PROTECTED_RESOURCE_SESSION_DESC1*> GetDesc1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedSession.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedSession.gen.cs new file mode 100644 index 0000000000..ad81467b5b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12ProtectedSession.gen.cs @@ -0,0 +1,203 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("A1533D18-0AC1-4084-85B9-89A96116806B")] +[NativeTypeName("struct ID3D12ProtectedSession : ID3D12DeviceChild")] +[NativeInheritance("ID3D12DeviceChild")] +[SupportedOSPlatform("windows10.0")] +public unsafe partial struct ID3D12ProtectedSession : ID3D12ProtectedSession.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ProtectedSession)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12ProtectedSession*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT GetStatusFence([NativeTypeName("const IID &")] Guid* riid, void** ppFence) + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12ProtectedSession*)Unsafe.AsPointer(ref this), + riid, + ppFence + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public D3D12_PROTECTED_SESSION_STATUS GetSessionStatus() + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12ProtectedSession*)Unsafe.AsPointer(ref this)); + } + + public interface Interface : ID3D12DeviceChild.Interface + { + [VtblIndex(8)] + HRESULT GetStatusFence([NativeTypeName("const IID &")] Guid* riid, void** ppFence); + + [VtblIndex(9)] + D3D12_PROTECTED_SESSION_STATUS GetSessionStatus(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetStatusFence; + + [NativeTypeName("D3D12_PROTECTED_SESSION_STATUS () __attribute__((stdcall))")] + public delegate* unmanaged GetSessionStatus; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12QueryHeap.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12QueryHeap.gen.cs new file mode 100644 index 0000000000..9436d417c4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12QueryHeap.gen.cs @@ -0,0 +1,165 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("0D9658AE-ED45-469E-A61D-970EC583CAB4")] +[NativeTypeName("struct ID3D12QueryHeap : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12QueryHeap : ID3D12QueryHeap.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12QueryHeap)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12QueryHeap*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + public interface Interface : ID3D12Pageable.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Resource.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Resource.gen.cs new file mode 100644 index 0000000000..83342a6942 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Resource.gen.cs @@ -0,0 +1,383 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("696442BE-A72E-4059-BC79-5B5C98040FAD")] +[NativeTypeName("struct ID3D12Resource : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12Resource : ID3D12Resource.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Resource)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT Map( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pReadRange, + void** ppData + ) + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + Subresource, + pReadRange, + ppData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void Unmap( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pWrittenRange + ) + { + ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + Subresource, + pWrittenRange + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_RESOURCE_DESC GetDesc() + { + D3D12_RESOURCE_DESC result; + return *( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12Resource*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + [return: NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong GetGPUVirtualAddress() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12Resource*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT WriteToSubresource( + uint DstSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pDstBox, + [NativeTypeName("const void *")] void* pSrcData, + uint SrcRowPitch, + uint SrcDepthPitch + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + DstSubresource, + pDstBox, + pSrcData, + SrcRowPitch, + SrcDepthPitch + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT ReadFromSubresource( + void* pDstData, + uint DstRowPitch, + uint DstDepthPitch, + uint SrcSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12Resource*)Unsafe.AsPointer(ref this), + pDstData, + DstRowPitch, + DstDepthPitch, + SrcSubresource, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT GetHeapProperties( + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS* pHeapFlags + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Resource*)Unsafe.AsPointer(ref this), pHeapProperties, pHeapFlags); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + HRESULT Map( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pReadRange, + void** ppData + ); + + [VtblIndex(9)] + void Unmap( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pWrittenRange + ); + + [VtblIndex(10)] + D3D12_RESOURCE_DESC GetDesc(); + + [VtblIndex(11)] + [return: NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + ulong GetGPUVirtualAddress(); + + [VtblIndex(12)] + HRESULT WriteToSubresource( + uint DstSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pDstBox, + [NativeTypeName("const void *")] void* pSrcData, + uint SrcRowPitch, + uint SrcDepthPitch + ); + + [VtblIndex(13)] + HRESULT ReadFromSubresource( + void* pDstData, + uint DstRowPitch, + uint DstDepthPitch, + uint SrcSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ); + + [VtblIndex(14)] + HRESULT GetHeapProperties( + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS* pHeapFlags + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (UINT, const D3D12_RANGE *, void **) __attribute__((stdcall))")] + public delegate* unmanaged Map; + + [NativeTypeName("void (UINT, const D3D12_RANGE *) __attribute__((stdcall))")] + public delegate* unmanaged Unmap; + + [NativeTypeName("D3D12_RESOURCE_DESC () __attribute__((stdcall))")] + public delegate* unmanaged GetDesc; + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS () __attribute__((stdcall))")] + public delegate* unmanaged GetGPUVirtualAddress; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_BOX *, const void *, UINT, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_BOX*, + void*, + uint, + uint, + int> WriteToSubresource; + + [NativeTypeName( + "HRESULT (void *, UINT, UINT, UINT, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + void*, + uint, + uint, + uint, + D3D12_BOX*, + int> ReadFromSubresource; + + [NativeTypeName( + "HRESULT (D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS*, + int> GetHeapProperties; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Resource1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Resource1.gen.cs new file mode 100644 index 0000000000..365b4afb72 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Resource1.gen.cs @@ -0,0 +1,361 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("9D5E227A-4430-4161-88B3-3ECA6BB16E19")] +[NativeTypeName("struct ID3D12Resource1 : ID3D12Resource")] +[NativeInheritance("ID3D12Resource")] +public unsafe partial struct ID3D12Resource1 : ID3D12Resource1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Resource1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT Map( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pReadRange, + void** ppData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12Resource1*)Unsafe.AsPointer(ref this), Subresource, pReadRange, ppData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void Unmap( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pWrittenRange + ) + { + ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + Subresource, + pWrittenRange + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_RESOURCE_DESC GetDesc() + { + D3D12_RESOURCE_DESC result; + return *( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12Resource1*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + [return: NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong GetGPUVirtualAddress() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT WriteToSubresource( + uint DstSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pDstBox, + [NativeTypeName("const void *")] void* pSrcData, + uint SrcRowPitch, + uint SrcDepthPitch + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + DstSubresource, + pDstBox, + pSrcData, + SrcRowPitch, + SrcDepthPitch + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT ReadFromSubresource( + void* pDstData, + uint DstRowPitch, + uint DstDepthPitch, + uint SrcSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + pDstData, + DstRowPitch, + DstDepthPitch, + SrcSubresource, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT GetHeapProperties( + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS* pHeapFlags + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Resource1*)Unsafe.AsPointer(ref this), pHeapProperties, pHeapFlags); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[15]))( + (ID3D12Resource1*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12Resource.Interface + { + [VtblIndex(15)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (UINT, const D3D12_RANGE *, void **) __attribute__((stdcall))")] + public delegate* unmanaged Map; + + [NativeTypeName("void (UINT, const D3D12_RANGE *) __attribute__((stdcall))")] + public delegate* unmanaged Unmap; + + [NativeTypeName("D3D12_RESOURCE_DESC () __attribute__((stdcall))")] + public delegate* unmanaged GetDesc; + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS () __attribute__((stdcall))")] + public delegate* unmanaged GetGPUVirtualAddress; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_BOX *, const void *, UINT, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_BOX*, + void*, + uint, + uint, + int> WriteToSubresource; + + [NativeTypeName( + "HRESULT (void *, UINT, UINT, UINT, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + void*, + uint, + uint, + uint, + D3D12_BOX*, + int> ReadFromSubresource; + + [NativeTypeName( + "HRESULT (D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS*, + int> GetHeapProperties; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Resource2.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Resource2.gen.cs new file mode 100644 index 0000000000..3ef2eae9b8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Resource2.gen.cs @@ -0,0 +1,375 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("BE36EC3B-EA85-4AEB-A45A-E9D76404A495")] +[NativeTypeName("struct ID3D12Resource2 : ID3D12Resource1")] +[NativeInheritance("ID3D12Resource1")] +public unsafe partial struct ID3D12Resource2 : ID3D12Resource2.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Resource2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT Map( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pReadRange, + void** ppData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12Resource2*)Unsafe.AsPointer(ref this), Subresource, pReadRange, ppData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void Unmap( + uint Subresource, + [NativeTypeName("const D3D12_RANGE *")] D3D12_RANGE* pWrittenRange + ) + { + ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + Subresource, + pWrittenRange + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_RESOURCE_DESC GetDesc() + { + D3D12_RESOURCE_DESC result; + return *( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12Resource2*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + [return: NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS")] + public ulong GetGPUVirtualAddress() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT WriteToSubresource( + uint DstSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pDstBox, + [NativeTypeName("const void *")] void* pSrcData, + uint SrcRowPitch, + uint SrcDepthPitch + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + DstSubresource, + pDstBox, + pSrcData, + SrcRowPitch, + SrcDepthPitch + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT ReadFromSubresource( + void* pDstData, + uint DstRowPitch, + uint DstDepthPitch, + uint SrcSubresource, + [NativeTypeName("const D3D12_BOX *")] D3D12_BOX* pSrcBox + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + pDstData, + DstRowPitch, + DstDepthPitch, + SrcSubresource, + pSrcBox + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT GetHeapProperties( + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS* pHeapFlags + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3D12Resource2*)Unsafe.AsPointer(ref this), pHeapProperties, pHeapFlags); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[15]))( + (ID3D12Resource2*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public D3D12_RESOURCE_DESC1 GetDesc1() + { + D3D12_RESOURCE_DESC1 result; + return *( + (delegate* unmanaged)( + lpVtbl[16] + ) + )((ID3D12Resource2*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12Resource1.Interface + { + [VtblIndex(16)] + D3D12_RESOURCE_DESC1 GetDesc1(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (UINT, const D3D12_RANGE *, void **) __attribute__((stdcall))")] + public delegate* unmanaged Map; + + [NativeTypeName("void (UINT, const D3D12_RANGE *) __attribute__((stdcall))")] + public delegate* unmanaged Unmap; + + [NativeTypeName("D3D12_RESOURCE_DESC () __attribute__((stdcall))")] + public delegate* unmanaged GetDesc; + + [NativeTypeName("D3D12_GPU_VIRTUAL_ADDRESS () __attribute__((stdcall))")] + public delegate* unmanaged GetGPUVirtualAddress; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_BOX *, const void *, UINT, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_BOX*, + void*, + uint, + uint, + int> WriteToSubresource; + + [NativeTypeName( + "HRESULT (void *, UINT, UINT, UINT, const D3D12_BOX *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + void*, + uint, + uint, + uint, + D3D12_BOX*, + int> ReadFromSubresource; + + [NativeTypeName( + "HRESULT (D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS*, + int> GetHeapProperties; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + + [NativeTypeName("D3D12_RESOURCE_DESC1 () __attribute__((stdcall))")] + public delegate* unmanaged GetDesc1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12RootSignature.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12RootSignature.gen.cs new file mode 100644 index 0000000000..a0746e3762 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12RootSignature.gen.cs @@ -0,0 +1,165 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C54A6B66-72DF-4EE8-8BE5-A946A1429214")] +[NativeTypeName("struct ID3D12RootSignature : ID3D12DeviceChild")] +[NativeInheritance("ID3D12DeviceChild")] +public unsafe partial struct ID3D12RootSignature : ID3D12RootSignature.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12RootSignature)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12RootSignature*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + public interface Interface : ID3D12DeviceChild.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12RootSignatureDeserializer.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12RootSignatureDeserializer.gen.cs new file mode 100644 index 0000000000..68baa82a11 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12RootSignatureDeserializer.gen.cs @@ -0,0 +1,95 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("34AB647B-3CC8-46AC-841B-C0965645C046")] +[NativeTypeName("struct ID3D12RootSignatureDeserializer : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12RootSignatureDeserializer + : ID3D12RootSignatureDeserializer.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12RootSignatureDeserializer)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12RootSignatureDeserializer*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12RootSignatureDeserializer*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12RootSignatureDeserializer*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + [return: NativeTypeName("const D3D12_ROOT_SIGNATURE_DESC *")] + public D3D12_ROOT_SIGNATURE_DESC* GetRootSignatureDesc() + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12RootSignatureDeserializer*)Unsafe.AsPointer(ref this)); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + [return: NativeTypeName("const D3D12_ROOT_SIGNATURE_DESC *")] + D3D12_ROOT_SIGNATURE_DESC* GetRootSignatureDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("const D3D12_ROOT_SIGNATURE_DESC *() __attribute__((stdcall))")] + public delegate* unmanaged GetRootSignatureDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration.gen.cs new file mode 100644 index 0000000000..193bfdaba9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration.gen.cs @@ -0,0 +1,93 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("E9EB5314-33AA-42B2-A718-D77F58B1F1C7")] +[NativeTypeName("struct ID3D12SDKConfiguration : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12SDKConfiguration : ID3D12SDKConfiguration.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12SDKConfiguration)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12SDKConfiguration*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12SDKConfiguration*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12SDKConfiguration*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT SetSDKVersion(uint SDKVersion, [NativeTypeName("LPCSTR")] sbyte* SDKPath) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12SDKConfiguration*)Unsafe.AsPointer(ref this), + SDKVersion, + SDKPath + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT SetSDKVersion(uint SDKVersion, [NativeTypeName("LPCSTR")] sbyte* SDKPath); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (UINT, LPCSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetSDKVersion; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration1.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration1.gen.cs new file mode 100644 index 0000000000..6f4cc93f59 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration1.gen.cs @@ -0,0 +1,144 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8AAF9303-AD25-48B9-9A57-D9C37E009D9F")] +[NativeTypeName("struct ID3D12SDKConfiguration1 : ID3D12SDKConfiguration")] +[NativeInheritance("ID3D12SDKConfiguration")] +public unsafe partial struct ID3D12SDKConfiguration1 + : ID3D12SDKConfiguration1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12SDKConfiguration1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12SDKConfiguration1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12SDKConfiguration1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12SDKConfiguration1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT SetSDKVersion(uint SDKVersion, [NativeTypeName("LPCSTR")] sbyte* SDKPath) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12SDKConfiguration1*)Unsafe.AsPointer(ref this), + SDKVersion, + SDKPath + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT CreateDeviceFactory( + uint SDKVersion, + [NativeTypeName("LPCSTR")] sbyte* SDKPath, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvFactory + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )( + (ID3D12SDKConfiguration1*)Unsafe.AsPointer(ref this), + SDKVersion, + SDKPath, + riid, + ppvFactory + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void FreeUnusedSDKs() + { + ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12SDKConfiguration1*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : ID3D12SDKConfiguration.Interface + { + [VtblIndex(4)] + HRESULT CreateDeviceFactory( + uint SDKVersion, + [NativeTypeName("LPCSTR")] sbyte* SDKPath, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvFactory + ); + + [VtblIndex(5)] + void FreeUnusedSDKs(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (UINT, LPCSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetSDKVersion; + + [NativeTypeName("HRESULT (UINT, LPCSTR, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged CreateDeviceFactory; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged FreeUnusedSDKs; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12ShaderCacheSession.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12ShaderCacheSession.gen.cs new file mode 100644 index 0000000000..fa57734849 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12ShaderCacheSession.gen.cs @@ -0,0 +1,263 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("28E2495D-0F64-4AE4-A6EC-129255DC49A8")] +[NativeTypeName("struct ID3D12ShaderCacheSession : ID3D12DeviceChild")] +[NativeInheritance("ID3D12DeviceChild")] +public unsafe partial struct ID3D12ShaderCacheSession + : ID3D12ShaderCacheSession.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ShaderCacheSession)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT FindValue( + [NativeTypeName("const void *")] void* pKey, + uint KeySize, + void* pValue, + uint* pValueSize + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), pKey, KeySize, pValue, pValueSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT StoreValue( + [NativeTypeName("const void *")] void* pKey, + uint KeySize, + [NativeTypeName("const void *")] void* pValue, + uint ValueSize + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), pKey, KeySize, pValue, ValueSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void SetDeleteOnDestroy() + { + ((delegate* unmanaged)(lpVtbl[10]))( + (ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public D3D12_SHADER_CACHE_SESSION_DESC GetDesc() + { + D3D12_SHADER_CACHE_SESSION_DESC result; + return *( + (delegate* unmanaged< + ID3D12ShaderCacheSession*, + D3D12_SHADER_CACHE_SESSION_DESC*, + D3D12_SHADER_CACHE_SESSION_DESC*>)(lpVtbl[11]) + )((ID3D12ShaderCacheSession*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12DeviceChild.Interface + { + [VtblIndex(8)] + HRESULT FindValue( + [NativeTypeName("const void *")] void* pKey, + uint KeySize, + void* pValue, + uint* pValueSize + ); + + [VtblIndex(9)] + HRESULT StoreValue( + [NativeTypeName("const void *")] void* pKey, + uint KeySize, + [NativeTypeName("const void *")] void* pValue, + uint ValueSize + ); + + [VtblIndex(10)] + void SetDeleteOnDestroy(); + + [VtblIndex(11)] + D3D12_SHADER_CACHE_SESSION_DESC GetDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("HRESULT (const void *, UINT, void *, UINT *) __attribute__((stdcall))")] + public delegate* unmanaged FindValue; + + [NativeTypeName( + "HRESULT (const void *, UINT, const void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged StoreValue; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged SetDeleteOnDestroy; + + [NativeTypeName("D3D12_SHADER_CACHE_SESSION_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_SHADER_CACHE_SESSION_DESC*, + D3D12_SHADER_CACHE_SESSION_DESC*> GetDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12StateObject.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12StateObject.gen.cs new file mode 100644 index 0000000000..1661b87b62 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12StateObject.gen.cs @@ -0,0 +1,165 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("47016943-FCA8-4594-93EA-AF258B55346D")] +[NativeTypeName("struct ID3D12StateObject : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12StateObject : ID3D12StateObject.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12StateObject)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12StateObject*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + public interface Interface : ID3D12Pageable.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12StateObjectProperties.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12StateObjectProperties.gen.cs new file mode 100644 index 0000000000..69b7371f3b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12StateObjectProperties.gen.cs @@ -0,0 +1,151 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("DE5FA827-9BF9-4F26-89FF-D7F56FDE3860")] +[NativeTypeName("struct ID3D12StateObjectProperties : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12StateObjectProperties + : ID3D12StateObjectProperties.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12StateObjectProperties)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12StateObjectProperties*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12StateObjectProperties*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12StateObjectProperties*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void* GetShaderIdentifier([NativeTypeName("LPCWSTR")] ushort* pExportName) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12StateObjectProperties*)Unsafe.AsPointer(ref this), + pExportName + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + [return: NativeTypeName("UINT64")] + public ulong GetShaderStackSize([NativeTypeName("LPCWSTR")] ushort* pExportName) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12StateObjectProperties*)Unsafe.AsPointer(ref this), + pExportName + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + [return: NativeTypeName("UINT64")] + public ulong GetPipelineStackSize() + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12StateObjectProperties*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetPipelineStackSize([NativeTypeName("UINT64")] ulong PipelineStackSizeInBytes) + { + ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12StateObjectProperties*)Unsafe.AsPointer(ref this), + PipelineStackSizeInBytes + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void* GetShaderIdentifier([NativeTypeName("LPCWSTR")] ushort* pExportName); + + [VtblIndex(4)] + [return: NativeTypeName("UINT64")] + ulong GetShaderStackSize([NativeTypeName("LPCWSTR")] ushort* pExportName); + + [VtblIndex(5)] + [return: NativeTypeName("UINT64")] + ulong GetPipelineStackSize(); + + [VtblIndex(6)] + void SetPipelineStackSize([NativeTypeName("UINT64")] ulong PipelineStackSizeInBytes); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void *(LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged GetShaderIdentifier; + + [NativeTypeName("UINT64 (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged GetShaderStackSize; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetPipelineStackSize; + + [NativeTypeName("void (UINT64) __attribute__((stdcall))")] + public delegate* unmanaged SetPipelineStackSize; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12SwapChainAssistant.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12SwapChainAssistant.gen.cs new file mode 100644 index 0000000000..ad9691728d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12SwapChainAssistant.gen.cs @@ -0,0 +1,174 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("F1DF64B6-57FD-49CD-8807-C0EB88B45C8F")] +[NativeTypeName("struct ID3D12SwapChainAssistant : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12SwapChainAssistant + : ID3D12SwapChainAssistant.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12SwapChainAssistant)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12SwapChainAssistant*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12SwapChainAssistant*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12SwapChainAssistant*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public LUID GetLUID() + { + LUID result; + return *((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12SwapChainAssistant*)Unsafe.AsPointer(ref this), + &result + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT GetSwapChainObject([NativeTypeName("const IID &")] Guid* riid, void** ppv) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12SwapChainAssistant*)Unsafe.AsPointer(ref this), + riid, + ppv + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT GetCurrentResourceAndCommandQueue( + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource, + [NativeTypeName("const IID &")] Guid* riidQueue, + void** ppvQueue + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[5] + ) + )( + (ID3D12SwapChainAssistant*)Unsafe.AsPointer(ref this), + riidResource, + ppvResource, + riidQueue, + ppvQueue + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT InsertImplicitSync() + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12SwapChainAssistant*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + LUID GetLUID(); + + [VtblIndex(4)] + HRESULT GetSwapChainObject([NativeTypeName("const IID &")] Guid* riid, void** ppv); + + [VtblIndex(5)] + HRESULT GetCurrentResourceAndCommandQueue( + [NativeTypeName("const IID &")] Guid* riidResource, + void** ppvResource, + [NativeTypeName("const IID &")] Guid* riidQueue, + void** ppvQueue + ); + + [VtblIndex(6)] + HRESULT InsertImplicitSync(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("LUID () __attribute__((stdcall))")] + public delegate* unmanaged GetLUID; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetSwapChainObject; + + [NativeTypeName( + "HRESULT (const IID &, void **, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + Guid*, + void**, + Guid*, + void**, + int> GetCurrentResourceAndCommandQueue; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged InsertImplicitSync; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12Tools.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12Tools.gen.cs new file mode 100644 index 0000000000..c9f5ab427a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12Tools.gen.cs @@ -0,0 +1,109 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("7071E1F0-E84B-4B33-974F-12FA49DE65C5")] +[NativeTypeName("struct ID3D12Tools : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12Tools : ID3D12Tools.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Tools)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Tools*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Tools*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Tools*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void EnableShaderInstrumentation(BOOL bEnable) + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Tools*)Unsafe.AsPointer(ref this), + bEnable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public BOOL ShaderInstrumentationEnabled() + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Tools*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void EnableShaderInstrumentation(BOOL bEnable); + + [VtblIndex(4)] + BOOL ShaderInstrumentationEnabled(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged EnableShaderInstrumentation; + + [NativeTypeName("BOOL () __attribute__((stdcall))")] + public delegate* unmanaged ShaderInstrumentationEnabled; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12VersionedRootSignatureDeserializer.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12VersionedRootSignatureDeserializer.gen.cs new file mode 100644 index 0000000000..9fe3577fd9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12VersionedRootSignatureDeserializer.gen.cs @@ -0,0 +1,138 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0")] +[NativeTypeName("struct ID3D12VersionedRootSignatureDeserializer : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12VersionedRootSignatureDeserializer + : ID3D12VersionedRootSignatureDeserializer.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VersionedRootSignatureDeserializer)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)( + lpVtbl[0] + ) + )((ID3D12VersionedRootSignatureDeserializer*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VersionedRootSignatureDeserializer*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VersionedRootSignatureDeserializer*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetRootSignatureDescAtVersion( + D3D_ROOT_SIGNATURE_VERSION convertToVersion, + [NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **")] + D3D12_VERSIONED_ROOT_SIGNATURE_DESC** ppDesc + ) + { + return ( + (delegate* unmanaged< + ID3D12VersionedRootSignatureDeserializer*, + D3D_ROOT_SIGNATURE_VERSION, + D3D12_VERSIONED_ROOT_SIGNATURE_DESC**, + int>)(lpVtbl[3]) + )( + (ID3D12VersionedRootSignatureDeserializer*)Unsafe.AsPointer(ref this), + convertToVersion, + ppDesc + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + [return: NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *")] + public D3D12_VERSIONED_ROOT_SIGNATURE_DESC* GetUnconvertedRootSignatureDesc() + { + return ( + (delegate* unmanaged< + ID3D12VersionedRootSignatureDeserializer*, + D3D12_VERSIONED_ROOT_SIGNATURE_DESC*>)(lpVtbl[4]) + )((ID3D12VersionedRootSignatureDeserializer*)Unsafe.AsPointer(ref this)); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT GetRootSignatureDescAtVersion( + D3D_ROOT_SIGNATURE_VERSION convertToVersion, + [NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **")] + D3D12_VERSIONED_ROOT_SIGNATURE_DESC** ppDesc + ); + + [VtblIndex(4)] + [return: NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *")] + D3D12_VERSIONED_ROOT_SIGNATURE_DESC* GetUnconvertedRootSignatureDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (D3D_ROOT_SIGNATURE_VERSION, const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D_ROOT_SIGNATURE_VERSION, + D3D12_VERSIONED_ROOT_SIGNATURE_DESC**, + int> GetRootSignatureDescAtVersion; + + [NativeTypeName("const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *() __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VERSIONED_ROOT_SIGNATURE_DESC*> GetUnconvertedRootSignatureDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/ID3D12VirtualizationGuestDevice.gen.cs b/sources/Windows/DirectX/headers/d3d12/ID3D12VirtualizationGuestDevice.gen.cs new file mode 100644 index 0000000000..8cba951d01 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/ID3D12VirtualizationGuestDevice.gen.cs @@ -0,0 +1,127 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("BC66D368-7373-4943-8757-FC87DC79E476")] +[NativeTypeName("struct ID3D12VirtualizationGuestDevice : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12VirtualizationGuestDevice + : ID3D12VirtualizationGuestDevice.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VirtualizationGuestDevice)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VirtualizationGuestDevice*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VirtualizationGuestDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VirtualizationGuestDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT ShareWithHost(ID3D12DeviceChild* pObject, HANDLE* pHandle) + { + return ( + (delegate* unmanaged< + ID3D12VirtualizationGuestDevice*, + ID3D12DeviceChild*, + HANDLE*, + int>)(lpVtbl[3]) + )((ID3D12VirtualizationGuestDevice*)Unsafe.AsPointer(ref this), pObject, pHandle); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT CreateFenceFd( + ID3D12Fence* pFence, + [NativeTypeName("UINT64")] ulong FenceValue, + int* pFenceFd + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )( + (ID3D12VirtualizationGuestDevice*)Unsafe.AsPointer(ref this), + pFence, + FenceValue, + pFenceFd + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT ShareWithHost(ID3D12DeviceChild* pObject, HANDLE* pHandle); + + [VtblIndex(4)] + HRESULT CreateFenceFd( + ID3D12Fence* pFence, + [NativeTypeName("UINT64")] ulong FenceValue, + int* pFenceFd + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (ID3D12DeviceChild *, HANDLE *) __attribute__((stdcall))")] + public delegate* unmanaged ShareWithHost; + + [NativeTypeName("HRESULT (ID3D12Fence *, UINT64, int *) __attribute__((stdcall))")] + public delegate* unmanaged CreateFenceFd; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12/IID.gen.cs b/sources/Windows/DirectX/headers/d3d12/IID.gen.cs new file mode 100644 index 0000000000..1d04214bb8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12/IID.gen.cs @@ -0,0 +1,792 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Object + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x8F, 0xC2, 0xFE, 0xC4, 0x66, 0x79, 0x95, 0x4E, 0x9F, 0x94, 0xF4, 0x31, 0xCB, 0x56, 0xC3, 0xB8]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceChild + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x4B, 0xB9, 0x5D, 0x90, 0x0C, 0xA0, 0x40, 0x41, 0x9D, 0xF5, 0x2B, 0x64, 0xCA, 0x9E, 0xA3, 0x57]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12RootSignature + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x66, 0x6B, 0x4A, 0xC5, 0xDF, 0x72, 0xE8, 0x4E, 0x8B, 0xE5, 0xA9, 0x46, 0xA1, 0x42, 0x92, 0x14]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12RootSignatureDeserializer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7B, 0x64, 0xAB, 0x34, 0xC8, 0x3C, 0xAC, 0x46, 0x84, 0x1B, 0xC0, 0x96, 0x56, 0x45, 0xC0, 0x46]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VersionedRootSignatureDeserializer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x67, 0xCE, 0x91, 0x7F, 0x0C, 0x09, 0xB7, 0x4B, 0xB7, 0x8E, 0xED, 0x8F, 0xF2, 0xE3, 0x1D, 0xA0]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Pageable + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xFB, 0x58, 0xEE, 0x63, 0x68, 0x12, 0x35, 0x48, 0x86, 0xDA, 0xF0, 0x08, 0xCE, 0x62, 0xF0, 0xD6]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Heap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x02, 0x25, 0x3B, 0x6B, 0x51, 0x6E, 0xB3, 0x45, 0x90, 0xEE, 0x98, 0x84, 0x26, 0x5E, 0x8D, 0xF3]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Resource + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xBE, 0x42, 0x64, 0x69, 0x2E, 0xA7, 0x59, 0x40, 0xBC, 0x79, 0x5B, 0x5C, 0x98, 0x04, 0x0F, 0xAD]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12CommandAllocator + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xE4, 0xDE, 0x02, 0x61, 0x59, 0xAF, 0x09, 0x4B, 0xB9, 0x99, 0xB4, 0x4D, 0x73, 0xF0, 0x9B, 0x24]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Fence + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xCF, 0x3D, 0x75, 0x0A, 0xD8, 0xC4, 0x91, 0x4B, 0xAD, 0xF6, 0xBE, 0x5A, 0x60, 0xD9, 0x5A, 0x76]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Fence1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xFE, 0x85, 0x36, 0x43, 0x2B, 0xE2, 0xA0, 0x4C, 0xA8, 0xDB, 0xB5, 0xB4, 0xF4, 0xDD, 0x0E, 0x4A]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12PipelineState + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xF3, 0x30, 0x5A, 0x76, 0x24, 0xF6, 0x6F, 0x4C, 0xA8, 0x28, 0xAC, 0xE9, 0x48, 0x62, 0x24, 0x45]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DescriptorHeap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x1D, 0x47, 0xFB, 0x8E, 0x6C, 0x61, 0x49, 0x4F, 0x90, 0xF7, 0x12, 0x7B, 0xB7, 0x63, 0xFA, 0x51]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12QueryHeap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xAE, 0x58, 0x96, 0x0D, 0x45, 0xED, 0x9E, 0x46, 0xA6, 0x1D, 0x97, 0x0E, 0xC5, 0x83, 0xCA, 0xB4]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12CommandSignature + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7C, 0x79, 0x6A, 0xC3, 0x80, 0xEC, 0x0A, 0x4F, 0x89, 0x85, 0xA7, 0xB2, 0x47, 0x50, 0x82, 0xD1]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12CommandList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x1C, 0xD9, 0x16, 0x71, 0xE4, 0xE7, 0xCE, 0x47, 0xB8, 0xC6, 0xEC, 0x81, 0x68, 0xF4, 0x37, 0xE5]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x0F, 0x0D, 0x16, 0x5B, 0x1B, 0xAC, 0x85, 0x41, 0x8B, 0xA8, 0xB3, 0xAE, 0x42, 0xA5, 0xA4, 0x55]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xFB, 0x03, 0x31, 0x55, 0xE7, 0x1F, 0x57, 0x45, 0xBB, 0x38, 0x94, 0x6D, 0x7D, 0x0E, 0x7C, 0xA7]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x85, 0xE5, 0xC3, 0x38, 0x17, 0xFF, 0x2C, 0x41, 0x91, 0x50, 0x4F, 0xC6, 0xF9, 0xD7, 0x2A, 0x28]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12CommandQueue + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA6, 0x70, 0xC8, 0x0E, 0x7E, 0x5D, 0x22, 0x4C, 0x8C, 0xFC, 0x5B, 0xAA, 0xE0, 0x76, 0x16, 0xED]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xF1, 0x19, 0x98, 0x18, 0xB6, 0x1D, 0x57, 0x4B, 0xBE, 0x54, 0x18, 0x21, 0x33, 0x9B, 0x85, 0xF7]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12PipelineLibrary + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA8, 0x26, 0x42, 0xC6, 0x01, 0x92, 0xAF, 0x46, 0xB4, 0xCC, 0x53, 0xFB, 0x9F, 0xF7, 0x41, 0x4F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12PipelineLibrary1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x42, 0xBF, 0xEA, 0x80, 0x68, 0x25, 0x5E, 0x4E, 0xBD, 0x82, 0xC3, 0x7F, 0x86, 0x96, 0x1D, 0xC3]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x80, 0xCE, 0xAC, 0x77, 0x8E, 0x63, 0x65, 0x4E, 0x88, 0x95, 0xC1, 0xF2, 0x33, 0x86, 0x86, 0x3E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x1E, 0xA4, 0xBA, 0x30, 0x5B, 0xB1, 0x5C, 0x47, 0xA0, 0xBB, 0x1A, 0xF5, 0xC5, 0xB6, 0x43, 0x28]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x15, 0xDC, 0xDA, 0x81, 0xAD, 0x2B, 0x92, 0x43, 0x93, 0xC5, 0x10, 0x13, 0x45, 0xC4, 0xAA, 0x98]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ProtectedSession + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x18, 0x3D, 0x53, 0xA1, 0xC1, 0x0A, 0x84, 0x40, 0x85, 0xB9, 0x89, 0xA9, 0x61, 0x16, 0x80, 0x6B]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ProtectedResourceSession + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xF4, 0x96, 0xD6, 0x6C, 0x89, 0xF2, 0xCC, 0x40, 0x80, 0x91, 0x5A, 0x6C, 0x0A, 0x09, 0x9C, 0x3D]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x17, 0xDF, 0x65, 0xE8, 0xEE, 0xA9, 0xF9, 0x46, 0xA4, 0x63, 0x30, 0x98, 0x31, 0x5A, 0xA2, 0xE5]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12LifetimeOwner + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x9F, 0xAF, 0x67, 0xE6, 0x56, 0xCD, 0x46, 0x4F, 0x83, 0xCE, 0x03, 0x2E, 0x59, 0x5D, 0x70, 0xA8]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12SwapChainAssistant + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xB6, 0x64, 0xDF, 0xF1, 0xFD, 0x57, 0xCD, 0x49, 0x88, 0x07, 0xC0, 0xEB, 0x88, 0xB4, 0x5C, 0x8F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12LifetimeTracker + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x36, 0x3D, 0xD0, 0x3F, 0xB1, 0x4E, 0x4A, 0x42, 0xA5, 0x82, 0x49, 0x4E, 0xCB, 0x8B, 0xA8, 0x13]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12StateObject + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x43, 0x69, 0x01, 0x47, 0xA8, 0xFC, 0x94, 0x45, 0x93, 0xEA, 0xAF, 0x25, 0x8B, 0x55, 0x34, 0x6D]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12StateObjectProperties + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x27, 0xA8, 0x5F, 0xDE, 0xF9, 0x9B, 0x26, 0x4F, 0x89, 0xFF, 0xD7, 0xF5, 0x6F, 0xDE, 0x38, 0x60]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device5 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x3B, 0x17, 0x4F, 0x8B, 0xEA, 0x2F, 0x80, 0x4B, 0x8F, 0x58, 0x43, 0x07, 0x19, 0x1A, 0xB9, 0x5D]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceRemovedExtendedDataSettings + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x1C, 0x48, 0xBC, 0x82, 0x9B, 0x6B, 0x30, 0x40, 0xAE, 0xDB, 0x7E, 0xE3, 0xD1, 0xDF, 0x1E, 0x63]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceRemovedExtendedDataSettings1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x51, 0xAE, 0xD5, 0xDB, 0x17, 0x33, 0x0A, 0x4F, 0xAD, 0xF9, 0x1D, 0x7C, 0xED, 0xCA, 0xAE, 0x0B]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceRemovedExtendedDataSettings2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x88, 0x23, 0x55, 0x61, 0xAB, 0x01, 0x08, 0x40, 0xA4, 0x36, 0x83, 0xDB, 0x18, 0x95, 0x66, 0xEA]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceRemovedExtendedData + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x33, 0x1D, 0x93, 0x98, 0xE8, 0x5A, 0x91, 0x47, 0xAA, 0x3C, 0x1A, 0x73, 0xA2, 0x93, 0x4E, 0x71]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceRemovedExtendedData1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x22, 0xA0, 0x27, 0x97, 0x1D, 0xCF, 0xDA, 0x4D, 0x9E, 0xBA, 0xEF, 0xFA, 0x65, 0x3F, 0xC5, 0x06]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceRemovedExtendedData2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x16, 0x58, 0xFC, 0x67, 0xCA, 0xE4, 0x15, 0x49, 0xBF, 0x18, 0x42, 0x54, 0x12, 0x72, 0xDA, 0x54]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device6 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x1B, 0x22, 0x0B, 0xC7, 0xE4, 0x40, 0x17, 0x4A, 0x89, 0xAF, 0x02, 0x5A, 0x07, 0x27, 0xA6, 0xDC]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ProtectedResourceSession1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xD6, 0x2D, 0xF1, 0xD6, 0xFB, 0x76, 0x6E, 0x40, 0x89, 0x61, 0x42, 0x96, 0xEE, 0xFC, 0x04, 0x09]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device7 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x53, 0x4B, 0x01, 0x5C, 0xA1, 0x68, 0x9B, 0x4B, 0x8B, 0xD1, 0xDD, 0x60, 0x46, 0xB9, 0x35, 0x8B]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device8 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xBB, 0xE6, 0x18, 0x92, 0x44, 0xF9, 0x7E, 0x4F, 0xA7, 0x5C, 0xB1, 0xB2, 0xC7, 0xB7, 0x01, 0xF3]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Resource1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7A, 0x22, 0x5E, 0x9D, 0x30, 0x44, 0x61, 0x41, 0x88, 0xB3, 0x3E, 0xCA, 0x6B, 0xB1, 0x6E, 0x19]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Resource2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x3B, 0xEC, 0x36, 0xBE, 0x85, 0xEA, 0xEB, 0x4A, 0xA4, 0x5A, 0xE9, 0xD7, 0x64, 0x04, 0xA4, 0x95]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Heap1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x89, 0x73, 0x2F, 0x57, 0x68, 0x21, 0xE3, 0x49, 0x96, 0x93, 0xD6, 0xDF, 0x58, 0x71, 0xBF, 0x6D]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA7, 0x83, 0xDA, 0x6F, 0x4C, 0xB8, 0x38, 0x4E, 0x9A, 0xC8, 0xC7, 0xBD, 0x22, 0x01, 0x6B, 0x3D]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12MetaCommand + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x27, 0x4C, 0xB8, 0xDB, 0xCE, 0x36, 0xC9, 0x4F, 0xB8, 0x01, 0xF0, 0x48, 0xC4, 0x6A, 0xC5, 0x70]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x8E, 0x31, 0x54, 0x87, 0xA9, 0xD3, 0x41, 0x45, 0x98, 0xCF, 0x64, 0x5B, 0x50, 0xDC, 0x48, 0x74]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ShaderCacheSession + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x5D, 0x49, 0xE2, 0x28, 0x64, 0x0F, 0xE4, 0x4A, 0xA6, 0xEC, 0x12, 0x92, 0x55, 0xDC, 0x49, 0xA8]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device9 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x62, 0xE9, 0x80, 0x4C, 0x32, 0xF0, 0x60, 0x4F, 0xBC, 0x9E, 0xEB, 0xC2, 0xCF, 0xA1, 0xD8, 0x3C]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device10 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x18, 0x87, 0x7F, 0x51, 0x66, 0xAA, 0xF9, 0x49, 0xB0, 0x2B, 0xA7, 0xAB, 0x89, 0xC0, 0x60, 0x31]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Device11 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x44, 0xC3, 0x05, 0x54, 0x57, 0xD4, 0x4E, 0x44, 0xB4, 0xDD, 0x23, 0x66, 0xE4, 0x5A, 0xEE, 0x39]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VirtualizationGuestDevice + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x68, 0xD3, 0x66, 0xBC, 0x73, 0x73, 0x43, 0x49, 0x87, 0x57, 0xFC, 0x87, 0xDC, 0x79, 0xE4, 0x76]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Tools + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xF0, 0xE1, 0x71, 0x70, 0x4B, 0xE8, 0x33, 0x4B, 0x97, 0x4F, 0x12, 0xFA, 0x49, 0xDE, 0x65, 0xC5]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12SDKConfiguration + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x14, 0x53, 0xEB, 0xE9, 0xAA, 0x33, 0xB2, 0x42, 0xA7, 0x18, 0xD7, 0x7F, 0x58, 0xB1, 0xF1, 0xC7]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12SDKConfiguration1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x03, 0x93, 0xAF, 0x8A, 0x25, 0xAD, 0xB9, 0x48, 0x9A, 0x57, 0xD9, 0xC3, 0x7E, 0x00, 0x9D, 0x9F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceFactory + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xD3, 0x07, 0xF3, 0x61, 0x4E, 0xD3, 0x7C, 0x4E, 0x83, 0x74, 0x3B, 0xA4, 0xDE, 0x23, 0xCC, 0xCB]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceConfiguration + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7B, 0xF8, 0xDB, 0x78, 0x66, 0xF7, 0x2B, 0x42, 0xA6, 0x1C, 0xC8, 0xC4, 0x46, 0xBD, 0xB9, 0xAD]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList5 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x59, 0x08, 0x05, 0x55, 0x24, 0x40, 0x4C, 0x47, 0x87, 0xF5, 0x64, 0x72, 0xEA, 0xEE, 0x44, 0xEA]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList6 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x90, 0x78, 0x82, 0xC3, 0x48, 0xE5, 0xFA, 0x4C, 0x96, 0xCF, 0x56, 0x89, 0xA9, 0x37, 0x0F, 0x80]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList7 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x23, 0x12, 0x17, 0xDD, 0x61, 0x8B, 0x69, 0x47, 0x90, 0xE3, 0x16, 0x0C, 0xCD, 0xE4, 0xE2, 0xC1]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12GraphicsCommandList8 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xF9, 0x6E, 0x93, 0xEE, 0x9D, 0x59, 0x28, 0x4D, 0x93, 0x8E, 0x23, 0xC4, 0xAD, 0x05, 0xCE, 0x51]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/D3D11On12CreatorID.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/D3D11On12CreatorID.gen.cs new file mode 100644 index 0000000000..531ffef643 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/D3D11On12CreatorID.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("EDBF5678-2960-4E81-8429-99D4B2630C4E")] +[NativeTypeName("struct D3D11On12CreatorID : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct D3D11On12CreatorID : D3D11On12CreatorID.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_D3D11On12CreatorID)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (D3D11On12CreatorID*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (D3D11On12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (D3D11On12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/D3D12_COMPATIBILITY_SHARED_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/D3D12_COMPATIBILITY_SHARED_FLAGS.gen.cs new file mode 100644 index 0000000000..aa637d7c4d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/D3D12_COMPATIBILITY_SHARED_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_COMPATIBILITY_SHARED_FLAGS +{ + /// + + D3D12_COMPATIBILITY_SHARED_FLAG_NONE = 0, + + /// + + D3D12_COMPATIBILITY_SHARED_FLAG_NON_NT_HANDLE = 0x1, + + /// + + D3D12_COMPATIBILITY_SHARED_FLAG_KEYED_MUTEX = 0x2, + + /// + + D3D12_COMPATIBILITY_SHARED_FLAG_9_ON_12 = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/D3D12_REFLECT_SHARED_PROPERTY.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/D3D12_REFLECT_SHARED_PROPERTY.gen.cs new file mode 100644 index 0000000000..ee219f7f13 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/D3D12_REFLECT_SHARED_PROPERTY.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_REFLECT_SHARED_PROPERTY +{ + /// + + D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS = 0, + + /// + + D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS = + (D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS + 1), + + /// + + D3D12_REFLECT_SHARED_PROPERTY_NON_NT_SHARED_HANDLE = + (D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/D3D9On12CreatorID.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/D3D9On12CreatorID.gen.cs new file mode 100644 index 0000000000..ae86729c51 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/D3D9On12CreatorID.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("FFFCBB7F-15D3-42A2-841E-9D8D32F37DDD")] +[NativeTypeName("struct D3D9On12CreatorID : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct D3D9On12CreatorID : D3D9On12CreatorID.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_D3D9On12CreatorID)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (D3D9On12CreatorID*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (D3D9On12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (D3D9On12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/DirectMLPyTorchCreatorID.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/DirectMLPyTorchCreatorID.gen.cs new file mode 100644 index 0000000000..133e8dbebb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/DirectMLPyTorchCreatorID.gen.cs @@ -0,0 +1,75 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("AF029192-FBA1-4B05-9116-235E06560354")] +[NativeTypeName("struct DirectMLPyTorchCreatorID : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct DirectMLPyTorchCreatorID + : DirectMLPyTorchCreatorID.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_DirectMLPyTorchCreatorID)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (DirectMLPyTorchCreatorID*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (DirectMLPyTorchCreatorID*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (DirectMLPyTorchCreatorID*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/DirectMLTensorFlowCreatorID.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/DirectMLTensorFlowCreatorID.gen.cs new file mode 100644 index 0000000000..359862f805 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/DirectMLTensorFlowCreatorID.gen.cs @@ -0,0 +1,75 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("CB7490AC-8A0F-44EC-9B7B-6F4CAFE8E9AB")] +[NativeTypeName("struct DirectMLTensorFlowCreatorID : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct DirectMLTensorFlowCreatorID + : DirectMLTensorFlowCreatorID.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_DirectMLTensorFlowCreatorID)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (DirectMLTensorFlowCreatorID*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (DirectMLTensorFlowCreatorID*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (DirectMLTensorFlowCreatorID*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/ID3D12CompatibilityDevice.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/ID3D12CompatibilityDevice.gen.cs new file mode 100644 index 0000000000..9568eda4b5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/ID3D12CompatibilityDevice.gen.cs @@ -0,0 +1,253 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8F1C0E3C-FAE3-4A82-B098-BFE1708207FF")] +[NativeTypeName("struct ID3D12CompatibilityDevice : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12CompatibilityDevice + : ID3D12CompatibilityDevice.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12CompatibilityDevice)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12CompatibilityDevice*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12CompatibilityDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12CompatibilityDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT CreateSharedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const D3D11_RESOURCE_FLAGS *")] D3D11_RESOURCE_FLAGS* pFlags11, + D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, + ID3D12LifetimeTracker* pLifetimeTracker, + ID3D12SwapChainAssistant* pOwningSwapchain, + [NativeTypeName("const IID &")] Guid* riid, + void** ppResource + ) + { + return ( + (delegate* unmanaged< + ID3D12CompatibilityDevice*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + D3D11_RESOURCE_FLAGS*, + D3D12_COMPATIBILITY_SHARED_FLAGS, + ID3D12LifetimeTracker*, + ID3D12SwapChainAssistant*, + Guid*, + void**, + int>)(lpVtbl[3]) + )( + (ID3D12CompatibilityDevice*)Unsafe.AsPointer(ref this), + pHeapProperties, + HeapFlags, + pDesc, + InitialResourceState, + pOptimizedClearValue, + pFlags11, + CompatibilityFlags, + pLifetimeTracker, + pOwningSwapchain, + riid, + ppResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT CreateSharedHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pHeapDesc, + D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12CompatibilityDevice*, + D3D12_HEAP_DESC*, + D3D12_COMPATIBILITY_SHARED_FLAGS, + Guid*, + void**, + int>)(lpVtbl[4]) + )( + (ID3D12CompatibilityDevice*)Unsafe.AsPointer(ref this), + pHeapDesc, + CompatibilityFlags, + riid, + ppHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT ReflectSharedProperties( + ID3D12Object* pHeapOrResource, + D3D12_REFLECT_SHARED_PROPERTY ReflectType, + void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12CompatibilityDevice*, + ID3D12Object*, + D3D12_REFLECT_SHARED_PROPERTY, + void*, + uint, + int>)(lpVtbl[5]) + )( + (ID3D12CompatibilityDevice*)Unsafe.AsPointer(ref this), + pHeapOrResource, + ReflectType, + pData, + DataSize + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT CreateSharedResource( + [NativeTypeName("const D3D12_HEAP_PROPERTIES *")] + D3D12_HEAP_PROPERTIES* pHeapProperties, + D3D12_HEAP_FLAGS HeapFlags, + [NativeTypeName("const D3D12_RESOURCE_DESC *")] D3D12_RESOURCE_DESC* pDesc, + D3D12_RESOURCE_STATES InitialResourceState, + [NativeTypeName("const D3D12_CLEAR_VALUE *")] D3D12_CLEAR_VALUE* pOptimizedClearValue, + [NativeTypeName("const D3D11_RESOURCE_FLAGS *")] D3D11_RESOURCE_FLAGS* pFlags11, + D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, + ID3D12LifetimeTracker* pLifetimeTracker, + ID3D12SwapChainAssistant* pOwningSwapchain, + [NativeTypeName("const IID &")] Guid* riid, + void** ppResource + ); + + [VtblIndex(4)] + HRESULT CreateSharedHeap( + [NativeTypeName("const D3D12_HEAP_DESC *")] D3D12_HEAP_DESC* pHeapDesc, + D3D12_COMPATIBILITY_SHARED_FLAGS CompatibilityFlags, + [NativeTypeName("const IID &")] Guid* riid, + void** ppHeap + ); + + [VtblIndex(5)] + HRESULT ReflectSharedProperties( + ID3D12Object* pHeapOrResource, + D3D12_REFLECT_SHARED_PROPERTY ReflectType, + void* pData, + uint DataSize + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_PROPERTIES *, D3D12_HEAP_FLAGS, const D3D12_RESOURCE_DESC *, D3D12_RESOURCE_STATES, const D3D12_CLEAR_VALUE *, const D3D11_RESOURCE_FLAGS *, D3D12_COMPATIBILITY_SHARED_FLAGS, ID3D12LifetimeTracker *, ID3D12SwapChainAssistant *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_PROPERTIES*, + D3D12_HEAP_FLAGS, + D3D12_RESOURCE_DESC*, + D3D12_RESOURCE_STATES, + D3D12_CLEAR_VALUE*, + D3D11_RESOURCE_FLAGS*, + D3D12_COMPATIBILITY_SHARED_FLAGS, + ID3D12LifetimeTracker*, + ID3D12SwapChainAssistant*, + Guid*, + void**, + int> CreateSharedResource; + + [NativeTypeName( + "HRESULT (const D3D12_HEAP_DESC *, D3D12_COMPATIBILITY_SHARED_FLAGS, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_HEAP_DESC*, + D3D12_COMPATIBILITY_SHARED_FLAGS, + Guid*, + void**, + int> CreateSharedHeap; + + [NativeTypeName( + "HRESULT (ID3D12Object *, D3D12_REFLECT_SHARED_PROPERTY, void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Object*, + D3D12_REFLECT_SHARED_PROPERTY, + void*, + uint, + int> ReflectSharedProperties; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/IID.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/IID.gen.cs new file mode 100644 index 0000000000..34d34439dd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/IID.gen.cs @@ -0,0 +1,96 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12CompatibilityDevice + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x3C, 0x0E, 0x1C, 0x8F, 0xE3, 0xFA, 0x82, 0x4A, 0xB0, 0x98, 0xBF, 0xE1, 0x70, 0x82, 0x07, 0xFF]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_D3D11On12CreatorID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x78, 0x56, 0xBF, 0xED, 0x60, 0x29, 0x81, 0x4E, 0x84, 0x29, 0x99, 0xD4, 0xB2, 0x63, 0x0C, 0x4E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_D3D9On12CreatorID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7F, 0xBB, 0xFC, 0xFF, 0xD3, 0x15, 0xA2, 0x42, 0x84, 0x1E, 0x9D, 0x8D, 0x32, 0xF3, 0x7D, 0xDD]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_OpenGLOn12CreatorID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x34, 0xCD, 0xB3, 0x6B, 0x19, 0x0D, 0xAB, 0x45, 0x97, 0xED, 0xD7, 0x20, 0xBA, 0x3D, 0xFC, 0x80]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_OpenCLOn12CreatorID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x74, 0xBB, 0x76, 0x3F, 0xB5, 0x91, 0x88, 0x4A, 0xB1, 0x26, 0x20, 0xCA, 0x03, 0x31, 0xCD, 0x60]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_DirectMLTensorFlowCreatorID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xAC, 0x90, 0x74, 0xCB, 0x0F, 0x8A, 0xEC, 0x44, 0x9B, 0x7B, 0x6F, 0x4C, 0xAF, 0xE8, 0xE9, 0xAB]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_DirectMLPyTorchCreatorID + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x92, 0x91, 0x02, 0xAF, 0xA1, 0xFB, 0x05, 0x4B, 0x91, 0x16, 0x23, 0x5E, 0x06, 0x56, 0x03, 0x54]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/OpenCLOn12CreatorID.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/OpenCLOn12CreatorID.gen.cs new file mode 100644 index 0000000000..d7c44d4c4a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/OpenCLOn12CreatorID.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("3F76BB74-91B5-4A88-B126-20CA0331CD60")] +[NativeTypeName("struct OpenCLOn12CreatorID : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct OpenCLOn12CreatorID : OpenCLOn12CreatorID.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_OpenCLOn12CreatorID)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (OpenCLOn12CreatorID*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (OpenCLOn12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (OpenCLOn12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12compatibility/OpenGLOn12CreatorID.gen.cs b/sources/Windows/DirectX/headers/d3d12compatibility/OpenGLOn12CreatorID.gen.cs new file mode 100644 index 0000000000..d3b77d5670 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12compatibility/OpenGLOn12CreatorID.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("6BB3CD34-0D19-45AB-97ED-D720BA3DFC80")] +[NativeTypeName("struct OpenGLOn12CreatorID : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct OpenGLOn12CreatorID : OpenGLOn12CreatorID.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_OpenGLOn12CreatorID)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (OpenGLOn12CreatorID*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (OpenGLOn12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (OpenGLOn12CreatorID*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface { } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12.gen.cs new file mode 100644 index 0000000000..b1cebe3a6e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12.gen.cs @@ -0,0 +1,10 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +public static partial class D3D12 +{ + [NativeTypeName("#define D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024")] + public const int D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT = 1024; +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS.gen.cs new file mode 100644 index 0000000000..f8de21d9b9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS +{ + /// + + public D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE ShaderPatchMode; +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE.gen.cs new file mode 100644 index 0000000000..0e39187301 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE +{ + /// + + D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS.gen.cs new file mode 100644 index 0000000000..feeb1540cb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS +{ + /// + + public uint MaxMessagesPerCommandList; + + /// + + public D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE DefaultShaderPatchMode; + + /// + + public D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR.gen.cs new file mode 100644 index 0000000000..90df3041cb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR +{ + /// + + public float SlowdownFactor; +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_PARAMETER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_PARAMETER_TYPE.gen.cs new file mode 100644 index 0000000000..9a2400cb89 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_PARAMETER_TYPE.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE +{ + /// + + D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0, + + /// + + D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = + (D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1), + + /// + + D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = + (D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_FEATURE.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_FEATURE.gen.cs new file mode 100644 index 0000000000..02b883344f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_FEATURE.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DEBUG_FEATURE +{ + /// + + D3D12_DEBUG_FEATURE_NONE = 0, + + /// + + D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0x1, + + /// + + D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = 0x2, + + /// + + D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x4, + + /// + + D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = 0x8, +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_FLAGS.gen.cs new file mode 100644 index 0000000000..ebbd7794c6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_GPU_BASED_VALIDATION_FLAGS +{ + /// + + D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0, + + /// + + D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS.gen.cs new file mode 100644 index 0000000000..61610d761d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS +{ + /// + + D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0, + + /// + + D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = + 0x1, + + /// + + D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = + 0x2, + + /// + + D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = + 0x4, + + /// + + D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x7, +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.gen.cs new file mode 100644 index 0000000000..8bc00020c1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE +{ + /// + + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0, + + /// + + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = + (D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE + 1), + + /// + + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = + (D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY + 1), + + /// + + D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = + (D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION + 1), + + /// + + NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = + (D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER.gen.cs new file mode 100644 index 0000000000..dd68bf94ed --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_INFO_QUEUE_FILTER +{ + /// + + public D3D12_INFO_QUEUE_FILTER_DESC AllowList; + + /// + + public D3D12_INFO_QUEUE_FILTER_DESC DenyList; +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER_DESC.gen.cs new file mode 100644 index 0000000000..7f3b220d23 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER_DESC.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_INFO_QUEUE_FILTER_DESC +{ + /// + + public uint NumCategories; + + /// + + public D3D12_MESSAGE_CATEGORY* pCategoryList; + + /// + + public uint NumSeverities; + + /// + + public D3D12_MESSAGE_SEVERITY* pSeverityList; + + /// + + public uint NumIDs; + + /// + + public D3D12_MESSAGE_ID* pIDList; +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE.gen.cs new file mode 100644 index 0000000000..db1f9b7dea --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_MESSAGE +{ + /// + + public D3D12_MESSAGE_CATEGORY Category; + + /// + + public D3D12_MESSAGE_SEVERITY Severity; + + /// + + public D3D12_MESSAGE_ID ID; + + /// + + [NativeTypeName("const char *")] + public sbyte* pDescription; + + /// + + [NativeTypeName("SIZE_T")] + public nuint DescriptionByteLength; +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_CALLBACK_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_CALLBACK_FLAGS.gen.cs new file mode 100644 index 0000000000..f04fa877cb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_CALLBACK_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_MESSAGE_CALLBACK_FLAGS +{ + /// + + D3D12_MESSAGE_CALLBACK_FLAG_NONE = 0, + + /// + + D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_CATEGORY.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_CATEGORY.gen.cs new file mode 100644 index 0000000000..5de0891f75 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_CATEGORY.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_MESSAGE_CATEGORY +{ + /// + + D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0, + + /// + + D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = (D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1), + + /// + + D3D12_MESSAGE_CATEGORY_INITIALIZATION = (D3D12_MESSAGE_CATEGORY_MISCELLANEOUS + 1), + + /// + + D3D12_MESSAGE_CATEGORY_CLEANUP = (D3D12_MESSAGE_CATEGORY_INITIALIZATION + 1), + + /// + + D3D12_MESSAGE_CATEGORY_COMPILATION = (D3D12_MESSAGE_CATEGORY_CLEANUP + 1), + + /// + + D3D12_MESSAGE_CATEGORY_STATE_CREATION = (D3D12_MESSAGE_CATEGORY_COMPILATION + 1), + + /// + + D3D12_MESSAGE_CATEGORY_STATE_SETTING = (D3D12_MESSAGE_CATEGORY_STATE_CREATION + 1), + + /// + + D3D12_MESSAGE_CATEGORY_STATE_GETTING = (D3D12_MESSAGE_CATEGORY_STATE_SETTING + 1), + + /// + + D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = (D3D12_MESSAGE_CATEGORY_STATE_GETTING + 1), + + /// + + D3D12_MESSAGE_CATEGORY_EXECUTION = (D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1), + + /// + + D3D12_MESSAGE_CATEGORY_SHADER = (D3D12_MESSAGE_CATEGORY_EXECUTION + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_ID.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_ID.gen.cs new file mode 100644 index 0000000000..4e52a083a2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_ID.gen.cs @@ -0,0 +1,3719 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_MESSAGE_ID +{ + /// + + D3D12_MESSAGE_ID_UNKNOWN = 0, + + /// + + D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_THIS = 2, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17, + + /// + + D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18, + + /// + + D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19, + + /// + + D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20, + + /// + + D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21, + + /// + + D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24, + + /// + + D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25, + + /// + + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26, + + /// + + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27, + + /// + + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28, + + /// + + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29, + + /// + + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30, + + /// + + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31, + + /// + + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41, + + /// + + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65, + + /// + + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66, + + /// + + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67, + + /// + + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = + 83, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91, + + /// + + D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92, + + /// + + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93, + + /// + + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94, + + /// + + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95, + + /// + + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96, + + /// + + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97, + + /// + + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117, + + /// + + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222, + + /// + + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232, + + /// + + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233, + + /// + + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245, + + /// + + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253, + + /// + + D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255, + + /// + + D3D12_MESSAGE_ID_LIVE_DEVICE = 274, + + /// + + D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276, + + /// + + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280, + + /// + + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286, + + /// + + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287, + + /// + + D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289, + + /// + + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290, + + /// + + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291, + + /// + + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292, + + /// + + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294, + + /// + + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295, + + /// + + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296, + + /// + + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297, + + /// + + D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310, + + /// + + D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318, + + /// + + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321, + + /// + + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322, + + /// + + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346, + + /// + + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354, + + /// + + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431, + + /// + + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447, + + /// + + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448, + + /// + + D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493, + + /// + + D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494, + + /// + + D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506, + + /// + + D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537, + + /// + + D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538, + + /// + + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540, + + /// + + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541, + + /// + + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542, + + /// + + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544, + + /// + + D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547, + + /// + + D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549, + + /// + + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553, + + /// + + D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558, + + /// + + D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560, + + /// + + D3D12_MESSAGE_ID_CREATE_RESOURCE = 562, + + /// + + D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563, + + /// + + D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564, + + /// + + D3D12_MESSAGE_ID_CREATE_LIBRARY = 565, + + /// + + D3D12_MESSAGE_ID_CREATE_HEAP = 566, + + /// + + D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567, + + /// + + D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569, + + /// + + D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570, + + /// + + D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571, + + /// + + D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572, + + /// + + D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573, + + /// + + D3D12_MESSAGE_ID_LIVE_RESOURCE = 575, + + /// + + D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576, + + /// + + D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577, + + /// + + D3D12_MESSAGE_ID_LIVE_LIBRARY = 578, + + /// + + D3D12_MESSAGE_ID_LIVE_HEAP = 579, + + /// + + D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580, + + /// + + D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581, + + /// + + D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582, + + /// + + D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583, + + /// + + D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584, + + /// + + D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585, + + /// + + D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586, + + /// + + D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588, + + /// + + D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589, + + /// + + D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590, + + /// + + D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591, + + /// + + D3D12_MESSAGE_ID_DESTROY_HEAP = 592, + + /// + + D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593, + + /// + + D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594, + + /// + + D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604, + + /// + + D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607, + + /// + + D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608, + + /// + + D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609, + + /// + + D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610, + + /// + + D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611, + + /// + + D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613, + + /// + + D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614, + + /// + + D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615, + + /// + + D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616, + + /// + + D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632, + + /// + + D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642, + + /// + + D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643, + + /// + + D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644, + + /// + + D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645, + + /// + + D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646, + + /// + + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647, + + /// + + D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649, + + /// + + D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650, + + /// + + D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652, + + /// + + D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653, + + /// + + D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = + 675, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691, + + /// + + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692, + + /// + + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693, + + /// + + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694, + + /// + + D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695, + + /// + + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696, + + /// + + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697, + + /// + + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698, + + /// + + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701, + + /// + + D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702, + + /// + + D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703, + + /// + + D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705, + + /// + + D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708, + + /// + + D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709, + + /// + + D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710, + + /// + + D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711, + + /// + + D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712, + + /// + + D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713, + + /// + + D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715, + + /// + + D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724, + + /// + + D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725, + + /// + + D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726, + + /// + + D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727, + + /// + + D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728, + + /// + + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729, + + /// + + D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731, + + /// + + D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732, + + /// + + D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733, + + /// + + D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734, + + /// + + D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738, + + /// + + D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739, + + /// + + D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740, + + /// + + D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, + + /// + + D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741, + + /// + + D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742, + + /// + + D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743, + + /// + + D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744, + + /// + + D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818, + + /// + + D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820, + + /// + + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821, + + /// + + D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822, + + /// + + D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823, + + /// + + D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824, + + /// + + D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825, + + /// + + D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826, + + /// + + D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827, + + /// + + D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828, + + /// + + D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829, + + /// + + D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832, + + /// + + D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833, + + /// + + D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834, + + /// + + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835, + + /// + + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836, + + /// + + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837, + + /// + + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880, + + /// + + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881, + + /// + + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882, + + /// + + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888, + + /// + + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889, + + /// + + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890, + + /// + + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891, + + /// + + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892, + + /// + + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893, + + /// + + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894, + + /// + + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895, + + /// + + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896, + + /// + + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897, + + /// + + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898, + + /// + + D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899, + + /// + + D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900, + + /// + + D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901, + + /// + + D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905, + + /// + + D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906, + + /// + + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908, + + /// + + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909, + + /// + + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910, + + /// + + D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911, + + /// + + D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912, + + /// + + D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913, + + /// + + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914, + + /// + + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915, + + /// + + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916, + + /// + + D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917, + + /// + + D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918, + + /// + + D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919, + + /// + + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920, + + /// + + D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922, + + /// + + D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925, + + /// + + D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926, + + /// + + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927, + + /// + + D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929, + + /// + + D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930, + + /// + + D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931, + + /// + + D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932, + + /// + + D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942, + + /// + + D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943, + + /// + + D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944, + + /// + + D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945, + + /// + + D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950, + + /// + + D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954, + + /// + + D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958, + + /// + + D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959, + + /// + + D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965, + + /// + + D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966, + + /// + + D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967, + + /// + + D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968, + + /// + + D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969, + + /// + + D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970, + + /// + + D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971, + + /// + + D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972, + + /// + + D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974, + + /// + + D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975, + + /// + + D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977, + + /// + + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987, + + /// + + D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988, + + /// + + D3D12_MESSAGE_ID_DEPRECATED_API = 989, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994, + + /// + + D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995, + + /// + + D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996, + + /// + + D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997, + + /// + + D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998, + + /// + + D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000, + + /// + + D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001, + + /// + + D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002, + + /// + + D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003, + + /// + + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006, + + /// + + D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007, + + /// + + D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008, + + /// + + D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009, + + /// + + D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013, + + /// + + D3D12_MESSAGE_ID_BEGIN_EVENT = 1014, + + /// + + D3D12_MESSAGE_ID_END_EVENT = 1015, + + /// + + D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040, + + /// + + D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041, + + /// + + D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042, + + /// + + D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046, + + /// + + D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047, + + /// + + D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048, + + /// + + D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065, + + /// + + D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066, + + /// + + D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067, + + /// + + D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = 1068, + + /// + + D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = 1069, + + /// + + D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = 1070, + + /// + + D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = 1071, + + /// + + D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = 1072, + + /// + + D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = 1073, + + /// + + D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = 1074, + + /// + + D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = 1075, + + /// + + D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = 1076, + + /// + + D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077, + + /// + + D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = 1078, + + /// + + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079, + + /// + + D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080, + + /// + + D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081, + + /// + + D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = 1083, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = 1084, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = 1085, + + /// + + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086, + + /// + + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087, + + /// + + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = 1088, + + /// + + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = 1089, + + /// + + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090, + + /// + + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091, + + /// + + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092, + + /// + + D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093, + + /// + + D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = 1094, + + /// + + D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = 1095, + + /// + + D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = 1096, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097, + + /// + + D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100, + + /// + + D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = 1102, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105, + + /// + + D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = 1106, + + /// + + D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108, + + /// + + D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109, + + /// + + D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110, + + /// + + D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111, + + /// + + D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = 1112, + + /// + + D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113, + + /// + + D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = 1115, + + /// + + D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = 1116, + + /// + + D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = 1117, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = 1122, + + /// + + D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = 1123, + + /// + + D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = 1124, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = 1125, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126, + + /// + + D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127, + + /// + + D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = 1128, + + /// + + D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129, + + /// + + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130, + + /// + + D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131, + + /// + + D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132, + + /// + + D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133, + + /// + + D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134, + + /// + + D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = 1135, + + /// + + D3D12_MESSAGE_ID_EVICT_UNDERFLOW = 1136, + + /// + + D3D12_MESSAGE_ID_CREATE_META_COMMAND = 1137, + + /// + + D3D12_MESSAGE_ID_LIVE_META_COMMAND = 1138, + + /// + + D3D12_MESSAGE_ID_DESTROY_META_COMMAND = 1139, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140, + + /// + + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142, + + /// + + D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151, + + /// + + D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152, + + /// + + D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153, + + /// + + D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155, + + /// + + D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156, + + /// + + D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157, + + /// + + D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158, + + /// + + D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159, + + /// + + D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160, + + /// + + D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = 1161, + + /// + + D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162, + + /// + + D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = 1163, + + /// + + D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = 1164, + + /// + + D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = 1165, + + /// + + D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166, + + /// + + D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = 1167, + + /// + + D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = 1168, + + /// + + D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = 1169, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_ERROR = 1170, + + /// + + D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = 1171, + + /// + + D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = 1172, + + /// + + D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = 1173, + + /// + + D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174, + + /// + + D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = 1175, + + /// + + D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = 1177, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = 1178, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = 1179, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = 1180, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = 1181, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = 1182, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = 1183, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = 1184, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = 1185, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = 1186, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = 1187, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = 1188, + + /// + + D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = 1189, + + /// + + D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190, + + /// + + D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191, + + /// + + D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = 1192, + + /// + + D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193, + + /// + + D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = 1194, + + /// + + D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = 1195, + + /// + + D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = 1196, + + /// + + D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = 1197, + + /// + + D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = 1198, + + /// + + D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199, + + /// + + D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200, + + /// + + D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = 1203, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210, + + /// + + D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211, + + /// + + D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = 1212, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = 1213, + + /// + + D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = 1214, + + /// + + D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215, + + /// + + D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216, + + /// + + D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217, + + /// + + D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218, + + /// + + D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219, + + /// + + D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = 1220, + + /// + + D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221, + + /// + + D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222, + + /// + + D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223, + + /// + + D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = 1225, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = 1226, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = 1227, + + /// + + D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228, + + /// + + D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229, + + /// + + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230, + + /// + + D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231, + + /// + + D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = + 1232, + + /// + + D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233, + + /// + + D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234, + + /// + + D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = 1235, + + /// + + D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236, + + /// + + D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237, + + /// + + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238, + + /// + + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239, + + /// + + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240, + + /// + + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241, + + /// + + D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242, + + /// + + D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245, + + /// + + D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = 1246, + + /// + + D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248, + + /// + + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251, + + /// + + D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253, + + /// + + D3D12_MESSAGE_ID_EMPTY_DISPATCH = 1254, + + /// + + D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264, + + /// + + D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265, + + /// + + D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = 1266, + + /// + + D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269, + + /// + + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270, + + /// + + D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271, + + /// + + D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272, + + /// + + D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273, + + /// + + D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = + 1274, + + /// + + D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = + 1275, + + /// + + D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276, + + /// + + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277, + + /// + + D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278, + + /// + + D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279, + + /// + + D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = 1280, + + /// + + D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = 1281, + + /// + + D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = 1282, + + /// + + D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = 1283, + + /// + + D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = 1284, + + /// + + D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = 1285, + + /// + + D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = 1286, + + /// + + D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = 1287, + + /// + + D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = 1288, + + /// + + D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = 1289, + + /// + + D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290, + + /// + + D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291, + + /// + + D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292, + + /// + + D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293, + + /// + + D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = 1294, + + /// + + D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = 1295, + + /// + + D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = 1296, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = 1297, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = 1298, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = 1299, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = 1300, + + /// + + D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = 1301, + + /// + + D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = 1302, + + /// + + D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303, + + /// + + D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304, + + /// + + D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = 1305, + + /// + + D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306, + + /// + + D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307, + + /// + + D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311, + + /// + + D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312, + + /// + + D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313, + + /// + + D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314, + + /// + + D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = 1316, + + /// + + D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317, + + /// + + D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = 1318, + + /// + + D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = 1319, + + /// + + D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = 1320, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321, + + /// + + D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322, + + /// + + D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323, + + /// + + D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324, + + /// + + D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325, + + /// + + D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326, + + /// + + D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED = 1328, + + /// + + D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER = 1329, + + /// + + D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED = 1330, + + /// + + D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES = 1331, + + /// + + D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS = 1332, + + /// + + D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC = 1333, + + /// + + D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT = 1334, + + /// + + D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE = 1335, + + /// + + D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE = 1336, + + /// + + D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION = 1337, + + /// + + D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT = 1338, + + /// + + D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D = 1339, + + /// + + D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS = 1340, + + /// + + D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT = 1341, + + /// + + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS = 1342, + + /// + + D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED = 1343, + + /// + + D3D12_MESSAGE_ID_CAST_TARGET_TEXEL_SIZE_MISMATCH = 1344, + + /// + + D3D12_MESSAGE_ID_CAST_TO_PLANAR_NOT_SUPORTED = 1345, + + /// + + D3D12_MESSAGE_ID_LEGACY_BARRIER_VALIDATION_FORCED_ON = 1346, + + /// + + D3D12_MESSAGE_ID_EMPTY_ROOT_DESCRIPTOR_TABLE = 1347, + + /// + + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ELEMENT_OFFSET_UNALIGNED = 1348, + + /// + + D3D12_MESSAGE_ID_ALPHA_BLEND_FACTOR_NOT_SUPPORTED = 1349, + + /// + + D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_LAYOUT = 1350, + + /// + + D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_STATE = 1351, + + /// + + D3D12_MESSAGE_ID_GRAPHICS_PIPELINE_STATE_DESC_ZERO_SAMPLE_MASK = 1352, + + /// + + D3D12_MESSAGE_ID_INDEPENDENT_STENCIL_REF_NOT_SUPPORTED = 1353, + + /// + + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INDEPENDENT_MASKS_UNSUPPORTED = 1354, + + /// + + D3D12_MESSAGE_ID_TEXTURE_BARRIER_SUBRESOURCES_OUT_OF_BOUNDS = 1355, + + /// + + D3D12_MESSAGE_ID_NON_OPTIMAL_BARRIER_ONLY_EXECUTE_COMMAND_LISTS = 1356, + + /// + + D3D12_MESSAGE_ID_EXECUTE_INDIRECT_ZERO_COMMAND_COUNT = 1357, + + /// + + D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_TEXTURE_LAYOUT = 1358, + + /// + + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NOT_SUPPORTED = + 1359, + + /// + + D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_TRIANGLE_FANS_NOT_SUPPORTED = 1360, + + /// + + D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED = 1361, + + /// + + D3D12_MESSAGE_ID_D3D12_MESSAGES_END = + (D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_SEVERITY.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_SEVERITY.gen.cs new file mode 100644 index 0000000000..444dbd7973 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGE_SEVERITY.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_MESSAGE_SEVERITY +{ + /// + + D3D12_MESSAGE_SEVERITY_CORRUPTION = 0, + + /// + + D3D12_MESSAGE_SEVERITY_ERROR = (D3D12_MESSAGE_SEVERITY_CORRUPTION + 1), + + /// + + D3D12_MESSAGE_SEVERITY_WARNING = (D3D12_MESSAGE_SEVERITY_ERROR + 1), + + /// + + D3D12_MESSAGE_SEVERITY_INFO = (D3D12_MESSAGE_SEVERITY_WARNING + 1), + + /// + + D3D12_MESSAGE_SEVERITY_MESSAGE = (D3D12_MESSAGE_SEVERITY_INFO + 1), +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_RLDO_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_RLDO_FLAGS.gen.cs new file mode 100644 index 0000000000..e13162570a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/D3D12_RLDO_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_RLDO_FLAGS +{ + /// + + D3D12_RLDO_NONE = 0, + + /// + + D3D12_RLDO_SUMMARY = 0x1, + + /// + + D3D12_RLDO_DETAIL = 0x2, + + /// + + D3D12_RLDO_IGNORE_INTERNAL = 0x4, +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/DXGI.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/DXGI.gen.cs new file mode 100644 index 0000000000..29f7b9ea1a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/DXGI.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static partial class DXGI +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid DXGI_DEBUG_D3D12 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x8C, 0xA9, 0x59, 0xCF, 0x50, 0xA9, 0x26, 0x43, 0x91, 0xEF, 0x9B, 0xBA, 0xA1, 0x7B, 0xFD, 0x95]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/DirectX.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/DirectX.gen.cs new file mode 100644 index 0000000000..aad840c91c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/DirectX.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static partial class DirectX +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid WKPDID_D3DAutoDebugObjectNameW + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x36, 0x2E, 0x90, 0xD4, 0x7A, 0x75, 0x42, 0x49, 0x95, 0x94, 0xB6, 0x76, 0x9A, 0xFA, 0x43, 0xCD]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug.gen.cs new file mode 100644 index 0000000000..f2af1b705d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug.gen.cs @@ -0,0 +1,91 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("344488B7-6846-474B-B989-F027448245E0")] +[NativeTypeName("struct ID3D12Debug : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12Debug : ID3D12Debug.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Debug)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Debug*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Debug*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Debug*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void EnableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Debug*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void EnableDebugLayer(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EnableDebugLayer; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug1.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug1.gen.cs new file mode 100644 index 0000000000..c367e767a9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug1.gen.cs @@ -0,0 +1,127 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("AFFAA4CA-63FE-4D8E-B8AD-159000AF4304")] +[NativeTypeName("struct ID3D12Debug1 : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12Debug1 : ID3D12Debug1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Debug1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Debug1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Debug1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Debug1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void EnableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Debug1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetEnableGPUBasedValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Debug1*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetEnableSynchronizedCommandQueueValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Debug1*)Unsafe.AsPointer(ref this), + Enable + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void EnableDebugLayer(); + + [VtblIndex(4)] + void SetEnableGPUBasedValidation(BOOL Enable); + + [VtblIndex(5)] + void SetEnableSynchronizedCommandQueueValidation(BOOL Enable); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EnableDebugLayer; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableGPUBasedValidation; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableSynchronizedCommandQueueValidation; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug2.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug2.gen.cs new file mode 100644 index 0000000000..20f3b4e5d3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug2.gen.cs @@ -0,0 +1,95 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("93A665C4-A3B2-4E5D-B692-A26AE14E3374")] +[NativeTypeName("struct ID3D12Debug2 : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12Debug2 : ID3D12Debug2.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Debug2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Debug2*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Debug2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Debug2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags) + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Debug2*)Unsafe.AsPointer(ref this), + Flags + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void (D3D12_GPU_BASED_VALIDATION_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_BASED_VALIDATION_FLAGS, + void> SetGPUBasedValidationFlags; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug3.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug3.gen.cs new file mode 100644 index 0000000000..dab157300d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug3.gen.cs @@ -0,0 +1,145 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("5CF4E58F-F671-4FF1-A542-3686E3D153D1")] +[NativeTypeName("struct ID3D12Debug3 : ID3D12Debug")] +[NativeInheritance("ID3D12Debug")] +public unsafe partial struct ID3D12Debug3 : ID3D12Debug3.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Debug3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Debug3*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Debug3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Debug3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void EnableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Debug3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetEnableGPUBasedValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Debug3*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetEnableSynchronizedCommandQueueValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Debug3*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags) + { + ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Debug3*)Unsafe.AsPointer(ref this), + Flags + ); + } + + public interface Interface : ID3D12Debug.Interface + { + [VtblIndex(4)] + void SetEnableGPUBasedValidation(BOOL Enable); + + [VtblIndex(5)] + void SetEnableSynchronizedCommandQueueValidation(BOOL Enable); + + [VtblIndex(6)] + void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EnableDebugLayer; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableGPUBasedValidation; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableSynchronizedCommandQueueValidation; + + [NativeTypeName("void (D3D12_GPU_BASED_VALIDATION_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_BASED_VALIDATION_FLAGS, + void> SetGPUBasedValidationFlags; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug4.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug4.gen.cs new file mode 100644 index 0000000000..dafa3dc041 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug4.gen.cs @@ -0,0 +1,153 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("014B816E-9EC5-4A2F-A845-FFBE441CE13A")] +[NativeTypeName("struct ID3D12Debug4 : ID3D12Debug3")] +[NativeInheritance("ID3D12Debug3")] +public unsafe partial struct ID3D12Debug4 : ID3D12Debug4.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Debug4)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void EnableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetEnableGPUBasedValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetEnableSynchronizedCommandQueueValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags) + { + ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this), + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void DisableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Debug4*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : ID3D12Debug3.Interface + { + [VtblIndex(7)] + void DisableDebugLayer(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EnableDebugLayer; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableGPUBasedValidation; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableSynchronizedCommandQueueValidation; + + [NativeTypeName("void (D3D12_GPU_BASED_VALIDATION_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_BASED_VALIDATION_FLAGS, + void> SetGPUBasedValidationFlags; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged DisableDebugLayer; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug5.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug5.gen.cs new file mode 100644 index 0000000000..4d14280268 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug5.gen.cs @@ -0,0 +1,168 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("548D6B12-09FA-40E0-9069-5DCD589A52C9")] +[NativeTypeName("struct ID3D12Debug5 : ID3D12Debug4")] +[NativeInheritance("ID3D12Debug4")] +public unsafe partial struct ID3D12Debug5 : ID3D12Debug5.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Debug5)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void EnableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetEnableGPUBasedValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetEnableSynchronizedCommandQueueValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags) + { + ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this), + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void DisableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetEnableAutoName(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12Debug5*)Unsafe.AsPointer(ref this), + Enable + ); + } + + public interface Interface : ID3D12Debug4.Interface + { + [VtblIndex(8)] + void SetEnableAutoName(BOOL Enable); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EnableDebugLayer; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableGPUBasedValidation; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableSynchronizedCommandQueueValidation; + + [NativeTypeName("void (D3D12_GPU_BASED_VALIDATION_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_BASED_VALIDATION_FLAGS, + void> SetGPUBasedValidationFlags; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged DisableDebugLayer; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableAutoName; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug6.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug6.gen.cs new file mode 100644 index 0000000000..b30552f41e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug6.gen.cs @@ -0,0 +1,183 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("82A816D6-5D01-4157-97D0-4975463FD1ED")] +[NativeTypeName("struct ID3D12Debug6 : ID3D12Debug5")] +[NativeInheritance("ID3D12Debug5")] +public unsafe partial struct ID3D12Debug6 : ID3D12Debug6.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Debug6)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void EnableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetEnableGPUBasedValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetEnableSynchronizedCommandQueueValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetGPUBasedValidationFlags(D3D12_GPU_BASED_VALIDATION_FLAGS Flags) + { + ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this), + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void DisableDebugLayer() + { + ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetEnableAutoName(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this), + Enable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void SetForceLegacyBarrierValidation(BOOL Enable) + { + ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12Debug6*)Unsafe.AsPointer(ref this), + Enable + ); + } + + public interface Interface : ID3D12Debug5.Interface + { + [VtblIndex(9)] + void SetForceLegacyBarrierValidation(BOOL Enable); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EnableDebugLayer; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableGPUBasedValidation; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableSynchronizedCommandQueueValidation; + + [NativeTypeName("void (D3D12_GPU_BASED_VALIDATION_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_GPU_BASED_VALIDATION_FLAGS, + void> SetGPUBasedValidationFlags; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged DisableDebugLayer; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetEnableAutoName; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetForceLegacyBarrierValidation; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList.gen.cs new file mode 100644 index 0000000000..26cccfc1ad --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList.gen.cs @@ -0,0 +1,127 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("09E0BF36-54AC-484F-8847-4BAEEAB6053F")] +[NativeTypeName("struct ID3D12DebugCommandList : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DebugCommandList : ID3D12DebugCommandList.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugCommandList)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugCommandList*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12DebugCommandList*)Unsafe.AsPointer(ref this), pResource, Subresource, State); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12DebugCommandList*)Unsafe.AsPointer(ref this), Mask); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public D3D12_DEBUG_FEATURE GetFeatureMask() + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DebugCommandList*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State); + + [VtblIndex(4)] + HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask); + + [VtblIndex(5)] + D3D12_DEBUG_FEATURE GetFeatureMask(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("BOOL (ID3D12Resource *, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged AssertResourceState; + + [NativeTypeName("HRESULT (D3D12_DEBUG_FEATURE) __attribute__((stdcall))")] + public delegate* unmanaged SetFeatureMask; + + [NativeTypeName("D3D12_DEBUG_FEATURE () __attribute__((stdcall))")] + public delegate* unmanaged GetFeatureMask; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList1.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList1.gen.cs new file mode 100644 index 0000000000..0118450913 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList1.gen.cs @@ -0,0 +1,169 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("102CA951-311B-4B01-B11F-ECB83E061B37")] +[NativeTypeName("struct ID3D12DebugCommandList1 : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DebugCommandList1 + : ID3D12DebugCommandList1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugCommandList1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugCommandList1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12DebugCommandList1*)Unsafe.AsPointer(ref this), pResource, Subresource, State); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugCommandList1*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[4]) + )((ID3D12DebugCommandList1*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT GetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugCommandList1*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[5]) + )((ID3D12DebugCommandList1*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State); + + [VtblIndex(4)] + HRESULT SetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ); + + [VtblIndex(5)] + HRESULT GetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("BOOL (ID3D12Resource *, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged AssertResourceState; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, const void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int> SetDebugParameter; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int> GetDebugParameter; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList2.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList2.gen.cs new file mode 100644 index 0000000000..316d014131 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList2.gen.cs @@ -0,0 +1,194 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("AEB575CF-4E06-48BE-BA3B-C450FC96652E")] +[NativeTypeName("struct ID3D12DebugCommandList2 : ID3D12DebugCommandList")] +[NativeInheritance("ID3D12DebugCommandList")] +public unsafe partial struct ID3D12DebugCommandList2 + : ID3D12DebugCommandList2.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugCommandList2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this), pResource, Subresource, State); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this), Mask); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public D3D12_DEBUG_FEATURE GetFeatureMask() + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugCommandList2*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[6]) + )((ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugCommandList2*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[7]) + )((ID3D12DebugCommandList2*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + public interface Interface : ID3D12DebugCommandList.Interface + { + [VtblIndex(6)] + HRESULT SetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ); + + [VtblIndex(7)] + HRESULT GetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("BOOL (ID3D12Resource *, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged AssertResourceState; + + [NativeTypeName("HRESULT (D3D12_DEBUG_FEATURE) __attribute__((stdcall))")] + public delegate* unmanaged SetFeatureMask; + + [NativeTypeName("D3D12_DEBUG_FEATURE () __attribute__((stdcall))")] + public delegate* unmanaged GetFeatureMask; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, const void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int> SetDebugParameter; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int> GetDebugParameter; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList3.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList3.gen.cs new file mode 100644 index 0000000000..8f1e321fe7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList3.gen.cs @@ -0,0 +1,254 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("197D5E15-4D37-4D34-AF78-724CD70FDB1F")] +[NativeTypeName("struct ID3D12DebugCommandList3 : ID3D12DebugCommandList2")] +[NativeInheritance("ID3D12DebugCommandList2")] +public unsafe partial struct ID3D12DebugCommandList3 + : ID3D12DebugCommandList3.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugCommandList3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this), pResource, Subresource, State); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this), Mask); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public D3D12_DEBUG_FEATURE GetFeatureMask() + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugCommandList3*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[6]) + )((ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDebugParameter( + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugCommandList3*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[7]) + )((ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void AssertResourceAccess( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_ACCESS Access + ) + { + ( + (delegate* unmanaged< + ID3D12DebugCommandList3*, + ID3D12Resource*, + uint, + D3D12_BARRIER_ACCESS, + void>)(lpVtbl[8]) + )((ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this), pResource, Subresource, Access); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void AssertTextureLayout( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_LAYOUT Layout + ) + { + ( + (delegate* unmanaged< + ID3D12DebugCommandList3*, + ID3D12Resource*, + uint, + D3D12_BARRIER_LAYOUT, + void>)(lpVtbl[9]) + )((ID3D12DebugCommandList3*)Unsafe.AsPointer(ref this), pResource, Subresource, Layout); + } + + public interface Interface : ID3D12DebugCommandList2.Interface + { + [VtblIndex(8)] + void AssertResourceAccess( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_ACCESS Access + ); + + [VtblIndex(9)] + void AssertTextureLayout( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_LAYOUT Layout + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("BOOL (ID3D12Resource *, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged AssertResourceState; + + [NativeTypeName("HRESULT (D3D12_DEBUG_FEATURE) __attribute__((stdcall))")] + public delegate* unmanaged SetFeatureMask; + + [NativeTypeName("D3D12_DEBUG_FEATURE () __attribute__((stdcall))")] + public delegate* unmanaged GetFeatureMask; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, const void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int> SetDebugParameter; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, + void*, + uint, + int> GetDebugParameter; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, D3D12_BARRIER_ACCESS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + D3D12_BARRIER_ACCESS, + void> AssertResourceAccess; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, D3D12_BARRIER_LAYOUT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + D3D12_BARRIER_LAYOUT, + void> AssertTextureLayout; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue.gen.cs new file mode 100644 index 0000000000..1a4ba74287 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue.gen.cs @@ -0,0 +1,95 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("09E0BF36-54AC-484F-8847-4BAEEAB6053A")] +[NativeTypeName("struct ID3D12DebugCommandQueue : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DebugCommandQueue + : ID3D12DebugCommandQueue.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugCommandQueue)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugCommandQueue*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugCommandQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugCommandQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12DebugCommandQueue*)Unsafe.AsPointer(ref this), pResource, Subresource, State); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("BOOL (ID3D12Resource *, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged AssertResourceState; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue1.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue1.gen.cs new file mode 100644 index 0000000000..115649a385 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue1.gen.cs @@ -0,0 +1,166 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("16BE35A2-BFD6-49F2-BCAE-EAAE4AFF862D")] +[NativeTypeName("struct ID3D12DebugCommandQueue1 : ID3D12DebugCommandQueue")] +[NativeInheritance("ID3D12DebugCommandQueue")] +public unsafe partial struct ID3D12DebugCommandQueue1 + : ID3D12DebugCommandQueue1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugCommandQueue1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugCommandQueue1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugCommandQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugCommandQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public BOOL AssertResourceState(ID3D12Resource* pResource, uint Subresource, uint State) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12DebugCommandQueue1*)Unsafe.AsPointer(ref this), pResource, Subresource, State); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void AssertResourceAccess( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_ACCESS Access + ) + { + ( + (delegate* unmanaged< + ID3D12DebugCommandQueue1*, + ID3D12Resource*, + uint, + D3D12_BARRIER_ACCESS, + void>)(lpVtbl[4]) + )((ID3D12DebugCommandQueue1*)Unsafe.AsPointer(ref this), pResource, Subresource, Access); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void AssertTextureLayout( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_LAYOUT Layout + ) + { + ( + (delegate* unmanaged< + ID3D12DebugCommandQueue1*, + ID3D12Resource*, + uint, + D3D12_BARRIER_LAYOUT, + void>)(lpVtbl[5]) + )((ID3D12DebugCommandQueue1*)Unsafe.AsPointer(ref this), pResource, Subresource, Layout); + } + + public interface Interface : ID3D12DebugCommandQueue.Interface + { + [VtblIndex(4)] + void AssertResourceAccess( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_ACCESS Access + ); + + [VtblIndex(5)] + void AssertTextureLayout( + ID3D12Resource* pResource, + uint Subresource, + D3D12_BARRIER_LAYOUT Layout + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("BOOL (ID3D12Resource *, UINT, UINT) __attribute__((stdcall))")] + public delegate* unmanaged AssertResourceState; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, D3D12_BARRIER_ACCESS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + D3D12_BARRIER_ACCESS, + void> AssertResourceAccess; + + [NativeTypeName( + "void (ID3D12Resource *, UINT, D3D12_BARRIER_LAYOUT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + uint, + D3D12_BARRIER_LAYOUT, + void> AssertTextureLayout; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice.gen.cs new file mode 100644 index 0000000000..8bc46f9794 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice.gen.cs @@ -0,0 +1,127 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("3FEBD6DD-4973-4787-8194-E45F9E28923E")] +[NativeTypeName("struct ID3D12DebugDevice : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DebugDevice : ID3D12DebugDevice.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugDevice)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugDevice*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12DebugDevice*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public D3D12_DEBUG_FEATURE GetFeatureMask() + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12DebugDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS Flags) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DebugDevice*)Unsafe.AsPointer(ref this), + Flags + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask); + + [VtblIndex(4)] + D3D12_DEBUG_FEATURE GetFeatureMask(); + + [VtblIndex(5)] + HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS Flags); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_DEBUG_FEATURE) __attribute__((stdcall))")] + public delegate* unmanaged SetFeatureMask; + + [NativeTypeName("D3D12_DEBUG_FEATURE () __attribute__((stdcall))")] + public delegate* unmanaged GetFeatureMask; + + [NativeTypeName("HRESULT (D3D12_RLDO_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged ReportLiveDeviceObjects; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice1.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice1.gen.cs new file mode 100644 index 0000000000..fafaab5286 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice1.gen.cs @@ -0,0 +1,166 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("A9B71770-D099-4A65-A698-3DEE10020F88")] +[NativeTypeName("struct ID3D12DebugDevice1 : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DebugDevice1 : ID3D12DebugDevice1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugDevice1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugDevice1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugDevice1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugDevice1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT SetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugDevice1*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[3]) + )((ID3D12DebugDevice1*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT GetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugDevice1*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[4]) + )((ID3D12DebugDevice1*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS Flags) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DebugDevice1*)Unsafe.AsPointer(ref this), + Flags + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT SetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ); + + [VtblIndex(4)] + HRESULT GetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ); + + [VtblIndex(5)] + HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS Flags); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_DEVICE_PARAMETER_TYPE, const void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int> SetDebugParameter; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_DEVICE_PARAMETER_TYPE, void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int> GetDebugParameter; + + [NativeTypeName("HRESULT (D3D12_RLDO_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged ReportLiveDeviceObjects; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice2.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice2.gen.cs new file mode 100644 index 0000000000..eaeea64ff6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice2.gen.cs @@ -0,0 +1,192 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("60ECCBC1-378D-4DF1-894C-F8AC5CE4D7DD")] +[NativeTypeName("struct ID3D12DebugDevice2 : ID3D12DebugDevice")] +[NativeInheritance("ID3D12DebugDevice")] +public unsafe partial struct ID3D12DebugDevice2 : ID3D12DebugDevice2.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DebugDevice2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DebugDevice2*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DebugDevice2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DebugDevice2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT SetFeatureMask(D3D12_DEBUG_FEATURE Mask) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12DebugDevice2*)Unsafe.AsPointer(ref this), + Mask + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public D3D12_DEBUG_FEATURE GetFeatureMask() + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12DebugDevice2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT ReportLiveDeviceObjects(D3D12_RLDO_FLAGS Flags) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12DebugDevice2*)Unsafe.AsPointer(ref this), + Flags + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugDevice2*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[6]) + )((ID3D12DebugDevice2*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ) + { + return ( + (delegate* unmanaged< + ID3D12DebugDevice2*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int>)(lpVtbl[7]) + )((ID3D12DebugDevice2*)Unsafe.AsPointer(ref this), Type, pData, DataSize); + } + + public interface Interface : ID3D12DebugDevice.Interface + { + [VtblIndex(6)] + HRESULT SetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + [NativeTypeName("const void *")] void* pData, + uint DataSize + ); + + [VtblIndex(7)] + HRESULT GetDebugParameter( + D3D12_DEBUG_DEVICE_PARAMETER_TYPE Type, + void* pData, + uint DataSize + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_DEBUG_FEATURE) __attribute__((stdcall))")] + public delegate* unmanaged SetFeatureMask; + + [NativeTypeName("D3D12_DEBUG_FEATURE () __attribute__((stdcall))")] + public delegate* unmanaged GetFeatureMask; + + [NativeTypeName("HRESULT (D3D12_RLDO_FLAGS) __attribute__((stdcall))")] + public delegate* unmanaged ReportLiveDeviceObjects; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_DEVICE_PARAMETER_TYPE, const void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int> SetDebugParameter; + + [NativeTypeName( + "HRESULT (D3D12_DEBUG_DEVICE_PARAMETER_TYPE, void *, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_DEBUG_DEVICE_PARAMETER_TYPE, + void*, + uint, + int> GetDebugParameter; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue.gen.cs new file mode 100644 index 0000000000..6a48c3204c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue.gen.cs @@ -0,0 +1,754 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("0742A90B-C387-483F-B946-30A7E4E61458")] +[NativeTypeName("struct ID3D12InfoQueue : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12InfoQueue : ID3D12InfoQueue.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12InfoQueue)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT SetMessageCountLimit([NativeTypeName("UINT64")] ulong MessageCountLimit) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + MessageCountLimit + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void ClearStoredMessages() + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT GetMessage( + [NativeTypeName("UINT64")] ulong MessageIndex, + D3D12_MESSAGE* pMessage, + [NativeTypeName("SIZE_T *")] nuint* pMessageByteLength + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12InfoQueue*)Unsafe.AsPointer(ref this), MessageIndex, pMessage, pMessageByteLength); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + [return: NativeTypeName("UINT64")] + public ulong GetNumMessagesAllowedByStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + [return: NativeTypeName("UINT64")] + public ulong GetNumMessagesDeniedByStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + public ulong GetNumStoredMessages() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + [return: NativeTypeName("UINT64")] + public ulong GetNumStoredMessagesAllowedByRetrievalFilter() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + [return: NativeTypeName("UINT64")] + public ulong GetNumMessagesDiscardedByMessageCountLimit() + { + return ((delegate* unmanaged)(lpVtbl[10]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + [return: NativeTypeName("UINT64")] + public ulong GetMessageCountLimit() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT AddStorageFilterEntries(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ((delegate* unmanaged)(lpVtbl[12]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + pFilter + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT GetStorageFilter( + D3D12_INFO_QUEUE_FILTER* pFilter, + [NativeTypeName("SIZE_T *")] nuint* pFilterByteLength + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )((ID3D12InfoQueue*)Unsafe.AsPointer(ref this), pFilter, pFilterByteLength); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void ClearStorageFilter() + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HRESULT PushEmptyStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[15]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT PushCopyOfStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[16]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HRESULT PushStorageFilter(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ((delegate* unmanaged)(lpVtbl[17]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + pFilter + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void PopStorageFilter() + { + ((delegate* unmanaged)(lpVtbl[18]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public uint GetStorageFilterStackSize() + { + return ((delegate* unmanaged)(lpVtbl[19]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HRESULT AddRetrievalFilterEntries(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + pFilter + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HRESULT GetRetrievalFilter( + D3D12_INFO_QUEUE_FILTER* pFilter, + [NativeTypeName("SIZE_T *")] nuint* pFilterByteLength + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12InfoQueue*)Unsafe.AsPointer(ref this), pFilter, pFilterByteLength); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void ClearRetrievalFilter() + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HRESULT PushEmptyRetrievalFilter() + { + return ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HRESULT PushCopyOfRetrievalFilter() + { + return ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HRESULT PushRetrievalFilter(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ((delegate* unmanaged)(lpVtbl[25]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + pFilter + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void PopRetrievalFilter() + { + ((delegate* unmanaged)(lpVtbl[26]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public uint GetRetrievalFilterStackSize() + { + return ((delegate* unmanaged)(lpVtbl[27]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT AddMessage( + D3D12_MESSAGE_CATEGORY Category, + D3D12_MESSAGE_SEVERITY Severity, + D3D12_MESSAGE_ID ID, + [NativeTypeName("LPCSTR")] sbyte* pDescription + ) + { + return ( + (delegate* unmanaged< + ID3D12InfoQueue*, + D3D12_MESSAGE_CATEGORY, + D3D12_MESSAGE_SEVERITY, + D3D12_MESSAGE_ID, + sbyte*, + int>)(lpVtbl[28]) + )((ID3D12InfoQueue*)Unsafe.AsPointer(ref this), Category, Severity, ID, pDescription); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT AddApplicationMessage( + D3D12_MESSAGE_SEVERITY Severity, + [NativeTypeName("LPCSTR")] sbyte* pDescription + ) + { + return ( + (delegate* unmanaged)(lpVtbl[29]) + )((ID3D12InfoQueue*)Unsafe.AsPointer(ref this), Severity, pDescription); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT SetBreakOnCategory(D3D12_MESSAGE_CATEGORY Category, BOOL bEnable) + { + return ( + (delegate* unmanaged)(lpVtbl[30]) + )((ID3D12InfoQueue*)Unsafe.AsPointer(ref this), Category, bEnable); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY Severity, BOOL bEnable) + { + return ( + (delegate* unmanaged)(lpVtbl[31]) + )((ID3D12InfoQueue*)Unsafe.AsPointer(ref this), Severity, bEnable); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT SetBreakOnID(D3D12_MESSAGE_ID ID, BOOL bEnable) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + ID, + bEnable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public BOOL GetBreakOnCategory(D3D12_MESSAGE_CATEGORY Category) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + Category + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public BOOL GetBreakOnSeverity(D3D12_MESSAGE_SEVERITY Severity) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + Severity + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public BOOL GetBreakOnID(D3D12_MESSAGE_ID ID) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + ID + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetMuteDebugOutput(BOOL bMute) + { + ((delegate* unmanaged)(lpVtbl[36]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this), + bMute + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public BOOL GetMuteDebugOutput() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12InfoQueue*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT SetMessageCountLimit([NativeTypeName("UINT64")] ulong MessageCountLimit); + + [VtblIndex(4)] + void ClearStoredMessages(); + + [VtblIndex(5)] + HRESULT GetMessage( + [NativeTypeName("UINT64")] ulong MessageIndex, + D3D12_MESSAGE* pMessage, + [NativeTypeName("SIZE_T *")] nuint* pMessageByteLength + ); + + [VtblIndex(6)] + [return: NativeTypeName("UINT64")] + ulong GetNumMessagesAllowedByStorageFilter(); + + [VtblIndex(7)] + [return: NativeTypeName("UINT64")] + ulong GetNumMessagesDeniedByStorageFilter(); + + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + ulong GetNumStoredMessages(); + + [VtblIndex(9)] + [return: NativeTypeName("UINT64")] + ulong GetNumStoredMessagesAllowedByRetrievalFilter(); + + [VtblIndex(10)] + [return: NativeTypeName("UINT64")] + ulong GetNumMessagesDiscardedByMessageCountLimit(); + + [VtblIndex(11)] + [return: NativeTypeName("UINT64")] + ulong GetMessageCountLimit(); + + [VtblIndex(12)] + HRESULT AddStorageFilterEntries(D3D12_INFO_QUEUE_FILTER* pFilter); + + [VtblIndex(13)] + HRESULT GetStorageFilter( + D3D12_INFO_QUEUE_FILTER* pFilter, + [NativeTypeName("SIZE_T *")] nuint* pFilterByteLength + ); + + [VtblIndex(14)] + void ClearStorageFilter(); + + [VtblIndex(15)] + HRESULT PushEmptyStorageFilter(); + + [VtblIndex(16)] + HRESULT PushCopyOfStorageFilter(); + + [VtblIndex(17)] + HRESULT PushStorageFilter(D3D12_INFO_QUEUE_FILTER* pFilter); + + [VtblIndex(18)] + void PopStorageFilter(); + + [VtblIndex(19)] + uint GetStorageFilterStackSize(); + + [VtblIndex(20)] + HRESULT AddRetrievalFilterEntries(D3D12_INFO_QUEUE_FILTER* pFilter); + + [VtblIndex(21)] + HRESULT GetRetrievalFilter( + D3D12_INFO_QUEUE_FILTER* pFilter, + [NativeTypeName("SIZE_T *")] nuint* pFilterByteLength + ); + + [VtblIndex(22)] + void ClearRetrievalFilter(); + + [VtblIndex(23)] + HRESULT PushEmptyRetrievalFilter(); + + [VtblIndex(24)] + HRESULT PushCopyOfRetrievalFilter(); + + [VtblIndex(25)] + HRESULT PushRetrievalFilter(D3D12_INFO_QUEUE_FILTER* pFilter); + + [VtblIndex(26)] + void PopRetrievalFilter(); + + [VtblIndex(27)] + uint GetRetrievalFilterStackSize(); + + [VtblIndex(28)] + HRESULT AddMessage( + D3D12_MESSAGE_CATEGORY Category, + D3D12_MESSAGE_SEVERITY Severity, + D3D12_MESSAGE_ID ID, + [NativeTypeName("LPCSTR")] sbyte* pDescription + ); + + [VtblIndex(29)] + HRESULT AddApplicationMessage( + D3D12_MESSAGE_SEVERITY Severity, + [NativeTypeName("LPCSTR")] sbyte* pDescription + ); + + [VtblIndex(30)] + HRESULT SetBreakOnCategory(D3D12_MESSAGE_CATEGORY Category, BOOL bEnable); + + [VtblIndex(31)] + HRESULT SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY Severity, BOOL bEnable); + + [VtblIndex(32)] + HRESULT SetBreakOnID(D3D12_MESSAGE_ID ID, BOOL bEnable); + + [VtblIndex(33)] + BOOL GetBreakOnCategory(D3D12_MESSAGE_CATEGORY Category); + + [VtblIndex(34)] + BOOL GetBreakOnSeverity(D3D12_MESSAGE_SEVERITY Severity); + + [VtblIndex(35)] + BOOL GetBreakOnID(D3D12_MESSAGE_ID ID); + + [VtblIndex(36)] + void SetMuteDebugOutput(BOOL bMute); + + [VtblIndex(37)] + BOOL GetMuteDebugOutput(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (UINT64) __attribute__((stdcall))")] + public delegate* unmanaged SetMessageCountLimit; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearStoredMessages; + + [NativeTypeName("HRESULT (UINT64, D3D12_MESSAGE *, SIZE_T *) __attribute__((stdcall))")] + public delegate* unmanaged GetMessage; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumMessagesAllowedByStorageFilter; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumMessagesDeniedByStorageFilter; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumStoredMessages; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumStoredMessagesAllowedByRetrievalFilter; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumMessagesDiscardedByMessageCountLimit; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetMessageCountLimit; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged AddStorageFilterEntries; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *, SIZE_T *) __attribute__((stdcall))")] + public delegate* unmanaged GetStorageFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearStorageFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushEmptyStorageFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushCopyOfStorageFilter; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged PushStorageFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged PopStorageFilter; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetStorageFilterStackSize; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged AddRetrievalFilterEntries; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *, SIZE_T *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_INFO_QUEUE_FILTER*, + nuint*, + int> GetRetrievalFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearRetrievalFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushEmptyRetrievalFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushCopyOfRetrievalFilter; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged PushRetrievalFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged PopRetrievalFilter; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetRetrievalFilterStackSize; + + [NativeTypeName( + "HRESULT (D3D12_MESSAGE_CATEGORY, D3D12_MESSAGE_SEVERITY, D3D12_MESSAGE_ID, LPCSTR) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_MESSAGE_CATEGORY, + D3D12_MESSAGE_SEVERITY, + D3D12_MESSAGE_ID, + sbyte*, + int> AddMessage; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_SEVERITY, LPCSTR) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_MESSAGE_SEVERITY, + sbyte*, + int> AddApplicationMessage; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_CATEGORY, BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetBreakOnCategory; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_SEVERITY, BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetBreakOnSeverity; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_ID, BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetBreakOnID; + + [NativeTypeName("BOOL (D3D12_MESSAGE_CATEGORY) __attribute__((stdcall))")] + public delegate* unmanaged GetBreakOnCategory; + + [NativeTypeName("BOOL (D3D12_MESSAGE_SEVERITY) __attribute__((stdcall))")] + public delegate* unmanaged GetBreakOnSeverity; + + [NativeTypeName("BOOL (D3D12_MESSAGE_ID) __attribute__((stdcall))")] + public delegate* unmanaged GetBreakOnID; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetMuteDebugOutput; + + [NativeTypeName("BOOL () __attribute__((stdcall))")] + public delegate* unmanaged GetMuteDebugOutput; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue1.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue1.gen.cs new file mode 100644 index 0000000000..75f415beff --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue1.gen.cs @@ -0,0 +1,704 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("2852DD88-B484-4C0C-B6B1-67168500E600")] +[NativeTypeName("struct ID3D12InfoQueue1 : ID3D12InfoQueue")] +[NativeInheritance("ID3D12InfoQueue")] +public unsafe partial struct ID3D12InfoQueue1 : ID3D12InfoQueue1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12InfoQueue1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT SetMessageCountLimit([NativeTypeName("UINT64")] ulong MessageCountLimit) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + MessageCountLimit + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void ClearStoredMessages() + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT GetMessage( + [NativeTypeName("UINT64")] ulong MessageIndex, + D3D12_MESSAGE* pMessage, + [NativeTypeName("SIZE_T *")] nuint* pMessageByteLength + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + MessageIndex, + pMessage, + pMessageByteLength + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + [return: NativeTypeName("UINT64")] + public ulong GetNumMessagesAllowedByStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + [return: NativeTypeName("UINT64")] + public ulong GetNumMessagesDeniedByStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + [return: NativeTypeName("UINT64")] + public ulong GetNumStoredMessages() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + [return: NativeTypeName("UINT64")] + public ulong GetNumStoredMessagesAllowedByRetrievalFilter() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + [return: NativeTypeName("UINT64")] + public ulong GetNumMessagesDiscardedByMessageCountLimit() + { + return ((delegate* unmanaged)(lpVtbl[10]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + [return: NativeTypeName("UINT64")] + public ulong GetMessageCountLimit() + { + return ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT AddStorageFilterEntries(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ( + (delegate* unmanaged)(lpVtbl[12]) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), pFilter); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT GetStorageFilter( + D3D12_INFO_QUEUE_FILTER* pFilter, + [NativeTypeName("SIZE_T *")] nuint* pFilterByteLength + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), pFilter, pFilterByteLength); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void ClearStorageFilter() + { + ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HRESULT PushEmptyStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[15]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HRESULT PushCopyOfStorageFilter() + { + return ((delegate* unmanaged)(lpVtbl[16]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HRESULT PushStorageFilter(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ( + (delegate* unmanaged)(lpVtbl[17]) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), pFilter); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void PopStorageFilter() + { + ((delegate* unmanaged)(lpVtbl[18]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public uint GetStorageFilterStackSize() + { + return ((delegate* unmanaged)(lpVtbl[19]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HRESULT AddRetrievalFilterEntries(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ( + (delegate* unmanaged)(lpVtbl[20]) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), pFilter); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HRESULT GetRetrievalFilter( + D3D12_INFO_QUEUE_FILTER* pFilter, + [NativeTypeName("SIZE_T *")] nuint* pFilterByteLength + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), pFilter, pFilterByteLength); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void ClearRetrievalFilter() + { + ((delegate* unmanaged)(lpVtbl[22]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HRESULT PushEmptyRetrievalFilter() + { + return ((delegate* unmanaged)(lpVtbl[23]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HRESULT PushCopyOfRetrievalFilter() + { + return ((delegate* unmanaged)(lpVtbl[24]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HRESULT PushRetrievalFilter(D3D12_INFO_QUEUE_FILTER* pFilter) + { + return ( + (delegate* unmanaged)(lpVtbl[25]) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), pFilter); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void PopRetrievalFilter() + { + ((delegate* unmanaged)(lpVtbl[26]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public uint GetRetrievalFilterStackSize() + { + return ((delegate* unmanaged)(lpVtbl[27]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HRESULT AddMessage( + D3D12_MESSAGE_CATEGORY Category, + D3D12_MESSAGE_SEVERITY Severity, + D3D12_MESSAGE_ID ID, + [NativeTypeName("LPCSTR")] sbyte* pDescription + ) + { + return ( + (delegate* unmanaged< + ID3D12InfoQueue1*, + D3D12_MESSAGE_CATEGORY, + D3D12_MESSAGE_SEVERITY, + D3D12_MESSAGE_ID, + sbyte*, + int>)(lpVtbl[28]) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), Category, Severity, ID, pDescription); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HRESULT AddApplicationMessage( + D3D12_MESSAGE_SEVERITY Severity, + [NativeTypeName("LPCSTR")] sbyte* pDescription + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), Severity, pDescription); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HRESULT SetBreakOnCategory(D3D12_MESSAGE_CATEGORY Category, BOOL bEnable) + { + return ( + (delegate* unmanaged)(lpVtbl[30]) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), Category, bEnable); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HRESULT SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY Severity, BOOL bEnable) + { + return ( + (delegate* unmanaged)(lpVtbl[31]) + )((ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), Severity, bEnable); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HRESULT SetBreakOnID(D3D12_MESSAGE_ID ID, BOOL bEnable) + { + return ((delegate* unmanaged)(lpVtbl[32]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + ID, + bEnable + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public BOOL GetBreakOnCategory(D3D12_MESSAGE_CATEGORY Category) + { + return ((delegate* unmanaged)(lpVtbl[33]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + Category + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public BOOL GetBreakOnSeverity(D3D12_MESSAGE_SEVERITY Severity) + { + return ((delegate* unmanaged)(lpVtbl[34]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + Severity + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public BOOL GetBreakOnID(D3D12_MESSAGE_ID ID) + { + return ((delegate* unmanaged)(lpVtbl[35]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + ID + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetMuteDebugOutput(BOOL bMute) + { + ((delegate* unmanaged)(lpVtbl[36]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + bMute + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public BOOL GetMuteDebugOutput() + { + return ((delegate* unmanaged)(lpVtbl[37]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public HRESULT RegisterMessageCallback( + [NativeTypeName("D3D12MessageFunc")] + delegate* unmanaged< + D3D12_MESSAGE_CATEGORY, + D3D12_MESSAGE_SEVERITY, + D3D12_MESSAGE_ID, + sbyte*, + void*, + void> CallbackFunc, + D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags, + void* pContext, + [NativeTypeName("DWORD *")] uint* pCallbackCookie + ) + { + return ( + (delegate* unmanaged< + ID3D12InfoQueue1*, + delegate* unmanaged< + D3D12_MESSAGE_CATEGORY, + D3D12_MESSAGE_SEVERITY, + D3D12_MESSAGE_ID, + sbyte*, + void*, + void>, + D3D12_MESSAGE_CALLBACK_FLAGS, + void*, + uint*, + int>)(lpVtbl[38]) + )( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + CallbackFunc, + CallbackFilterFlags, + pContext, + pCallbackCookie + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HRESULT UnregisterMessageCallback([NativeTypeName("DWORD")] uint CallbackCookie) + { + return ((delegate* unmanaged)(lpVtbl[39]))( + (ID3D12InfoQueue1*)Unsafe.AsPointer(ref this), + CallbackCookie + ); + } + + public interface Interface : ID3D12InfoQueue.Interface + { + [VtblIndex(39)] + HRESULT UnregisterMessageCallback([NativeTypeName("DWORD")] uint CallbackCookie); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (UINT64) __attribute__((stdcall))")] + public delegate* unmanaged SetMessageCountLimit; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearStoredMessages; + + [NativeTypeName("HRESULT (UINT64, D3D12_MESSAGE *, SIZE_T *) __attribute__((stdcall))")] + public delegate* unmanaged GetMessage; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumMessagesAllowedByStorageFilter; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumMessagesDeniedByStorageFilter; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumStoredMessages; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumStoredMessagesAllowedByRetrievalFilter; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetNumMessagesDiscardedByMessageCountLimit; + + [NativeTypeName("UINT64 () __attribute__((stdcall))")] + public delegate* unmanaged GetMessageCountLimit; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged AddStorageFilterEntries; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *, SIZE_T *) __attribute__((stdcall))")] + public delegate* unmanaged GetStorageFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearStorageFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushEmptyStorageFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushCopyOfStorageFilter; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged PushStorageFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged PopStorageFilter; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetStorageFilterStackSize; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged AddRetrievalFilterEntries; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *, SIZE_T *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_INFO_QUEUE_FILTER*, + nuint*, + int> GetRetrievalFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearRetrievalFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushEmptyRetrievalFilter; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged PushCopyOfRetrievalFilter; + + [NativeTypeName("HRESULT (D3D12_INFO_QUEUE_FILTER *) __attribute__((stdcall))")] + public delegate* unmanaged PushRetrievalFilter; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged PopRetrievalFilter; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetRetrievalFilterStackSize; + + [NativeTypeName( + "HRESULT (D3D12_MESSAGE_CATEGORY, D3D12_MESSAGE_SEVERITY, D3D12_MESSAGE_ID, LPCSTR) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_MESSAGE_CATEGORY, + D3D12_MESSAGE_SEVERITY, + D3D12_MESSAGE_ID, + sbyte*, + int> AddMessage; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_SEVERITY, LPCSTR) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_MESSAGE_SEVERITY, + sbyte*, + int> AddApplicationMessage; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_CATEGORY, BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetBreakOnCategory; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_SEVERITY, BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetBreakOnSeverity; + + [NativeTypeName("HRESULT (D3D12_MESSAGE_ID, BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetBreakOnID; + + [NativeTypeName("BOOL (D3D12_MESSAGE_CATEGORY) __attribute__((stdcall))")] + public delegate* unmanaged GetBreakOnCategory; + + [NativeTypeName("BOOL (D3D12_MESSAGE_SEVERITY) __attribute__((stdcall))")] + public delegate* unmanaged GetBreakOnSeverity; + + [NativeTypeName("BOOL (D3D12_MESSAGE_ID) __attribute__((stdcall))")] + public delegate* unmanaged GetBreakOnID; + + [NativeTypeName("void (BOOL) __attribute__((stdcall))")] + public delegate* unmanaged SetMuteDebugOutput; + + [NativeTypeName("BOOL () __attribute__((stdcall))")] + public delegate* unmanaged GetMuteDebugOutput; + + [NativeTypeName( + "HRESULT (D3D12MessageFunc, D3D12_MESSAGE_CALLBACK_FLAGS, void *, DWORD *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + delegate* unmanaged< + D3D12_MESSAGE_CATEGORY, + D3D12_MESSAGE_SEVERITY, + D3D12_MESSAGE_ID, + sbyte*, + void*, + void>, + D3D12_MESSAGE_CALLBACK_FLAGS, + void*, + uint*, + int> RegisterMessageCallback; + + [NativeTypeName("HRESULT (DWORD) __attribute__((stdcall))")] + public delegate* unmanaged UnregisterMessageCallback; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12SharingContract.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12SharingContract.gen.cs new file mode 100644 index 0000000000..0de47be6a2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/ID3D12SharingContract.gen.cs @@ -0,0 +1,148 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("0ADF7D52-929C-4E61-ADDB-FFED30DE66EF")] +[NativeTypeName("struct ID3D12SharingContract : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12SharingContract : ID3D12SharingContract.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12SharingContract)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12SharingContract*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12SharingContract*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12SharingContract*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void Present(ID3D12Resource* pResource, uint Subresource, HWND window) + { + ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12SharingContract*)Unsafe.AsPointer(ref this), pResource, Subresource, window); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SharedFenceSignal(ID3D12Fence* pFence, [NativeTypeName("UINT64")] ulong FenceValue) + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12SharingContract*)Unsafe.AsPointer(ref this), + pFence, + FenceValue + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void BeginCapturableWork([NativeTypeName("const GUID &")] Guid* guid) + { + ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12SharingContract*)Unsafe.AsPointer(ref this), + guid + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void EndCapturableWork([NativeTypeName("const GUID &")] Guid* guid) + { + ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12SharingContract*)Unsafe.AsPointer(ref this), + guid + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void Present(ID3D12Resource* pResource, uint Subresource, HWND window); + + [VtblIndex(4)] + void SharedFenceSignal(ID3D12Fence* pFence, [NativeTypeName("UINT64")] ulong FenceValue); + + [VtblIndex(5)] + void BeginCapturableWork([NativeTypeName("const GUID &")] Guid* guid); + + [VtblIndex(6)] + void EndCapturableWork([NativeTypeName("const GUID &")] Guid* guid); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("void (ID3D12Resource *, UINT, HWND) __attribute__((stdcall))")] + public delegate* unmanaged Present; + + [NativeTypeName("void (ID3D12Fence *, UINT64) __attribute__((stdcall))")] + public delegate* unmanaged SharedFenceSignal; + + [NativeTypeName("void (const GUID &) __attribute__((stdcall))")] + public delegate* unmanaged BeginCapturableWork; + + [NativeTypeName("void (const GUID &) __attribute__((stdcall))")] + public delegate* unmanaged EndCapturableWork; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12sdklayers/IID.gen.cs b/sources/Windows/DirectX/headers/d3d12sdklayers/IID.gen.cs new file mode 100644 index 0000000000..2e09a8d9c0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12sdklayers/IID.gen.cs @@ -0,0 +1,240 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Debug + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xB7, 0x88, 0x44, 0x34, 0x46, 0x68, 0x4B, 0x47, 0xB9, 0x89, 0xF0, 0x27, 0x44, 0x82, 0x45, 0xE0]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Debug1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xCA, 0xA4, 0xFA, 0xAF, 0xFE, 0x63, 0x8E, 0x4D, 0xB8, 0xAD, 0x15, 0x90, 0x00, 0xAF, 0x43, 0x04]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Debug2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xC4, 0x65, 0xA6, 0x93, 0xB2, 0xA3, 0x5D, 0x4E, 0xB6, 0x92, 0xA2, 0x6A, 0xE1, 0x4E, 0x33, 0x74]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Debug3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x8F, 0xE5, 0xF4, 0x5C, 0x71, 0xF6, 0xF1, 0x4F, 0xA5, 0x42, 0x36, 0x86, 0xE3, 0xD1, 0x53, 0xD1]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Debug4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x6E, 0x81, 0x4B, 0x01, 0xC5, 0x9E, 0x2F, 0x4A, 0xA8, 0x45, 0xFF, 0xBE, 0x44, 0x1C, 0xE1, 0x3A]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Debug5 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x12, 0x6B, 0x8D, 0x54, 0xFA, 0x09, 0xE0, 0x40, 0x90, 0x69, 0x5D, 0xCD, 0x58, 0x9A, 0x52, 0xC9]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12Debug6 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xD6, 0x16, 0xA8, 0x82, 0x01, 0x5D, 0x57, 0x41, 0x97, 0xD0, 0x49, 0x75, 0x46, 0x3F, 0xD1, 0xED]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugDevice1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x70, 0x17, 0xB7, 0xA9, 0x99, 0xD0, 0x65, 0x4A, 0xA6, 0x98, 0x3D, 0xEE, 0x10, 0x02, 0x0F, 0x88]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugDevice + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xDD, 0xD6, 0xEB, 0x3F, 0x73, 0x49, 0x87, 0x47, 0x81, 0x94, 0xE4, 0x5F, 0x9E, 0x28, 0x92, 0x3E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugDevice2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xC1, 0xCB, 0xEC, 0x60, 0x8D, 0x37, 0xF1, 0x4D, 0x89, 0x4C, 0xF8, 0xAC, 0x5C, 0xE4, 0xD7, 0xDD]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugCommandQueue + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x36, 0xBF, 0xE0, 0x09, 0xAC, 0x54, 0x4F, 0x48, 0x88, 0x47, 0x4B, 0xAE, 0xEA, 0xB6, 0x05, 0x3A]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugCommandQueue1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA2, 0x35, 0xBE, 0x16, 0xD6, 0xBF, 0xF2, 0x49, 0xBC, 0xAE, 0xEA, 0xAE, 0x4A, 0xFF, 0x86, 0x2D]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugCommandList1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x51, 0xA9, 0x2C, 0x10, 0x1B, 0x31, 0x01, 0x4B, 0xB1, 0x1F, 0xEC, 0xB8, 0x3E, 0x06, 0x1B, 0x37]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugCommandList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x36, 0xBF, 0xE0, 0x09, 0xAC, 0x54, 0x4F, 0x48, 0x88, 0x47, 0x4B, 0xAE, 0xEA, 0xB6, 0x05, 0x3F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugCommandList2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xCF, 0x75, 0xB5, 0xAE, 0x06, 0x4E, 0xBE, 0x48, 0xBA, 0x3B, 0xC4, 0x50, 0xFC, 0x96, 0x65, 0x2E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DebugCommandList3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x15, 0x5E, 0x7D, 0x19, 0x37, 0x4D, 0x34, 0x4D, 0xAF, 0x78, 0x72, 0x4C, 0xD7, 0x0F, 0xDB, 0x1F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12SharingContract + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x52, 0x7D, 0xDF, 0x0A, 0x9C, 0x92, 0x61, 0x4E, 0xAD, 0xDB, 0xFF, 0xED, 0x30, 0xDE, 0x66, 0xEF]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12InfoQueue + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x0B, 0xA9, 0x42, 0x07, 0x87, 0xC3, 0x3F, 0x48, 0xB9, 0x46, 0x30, 0xA7, 0xE4, 0xE6, 0x14, 0x58]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12InfoQueue1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x88, 0xDD, 0x52, 0x28, 0x84, 0xB4, 0x0C, 0x4C, 0xB6, 0xB1, 0x67, 0x16, 0x85, 0x00, 0xE6, 0x00]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D.gen.cs new file mode 100644 index 0000000000..7c1de274e0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D.gen.cs @@ -0,0 +1,74 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +public static partial class D3D +{ + [NativeTypeName("#define D3D_SHADER_REQUIRES_STENCIL_REF 0x00000200")] + public const int D3D_SHADER_REQUIRES_STENCIL_REF = 0x00000200; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_INNER_COVERAGE 0x00000400")] + public const int D3D_SHADER_REQUIRES_INNER_COVERAGE = 0x00000400; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00000800")] + public const int D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS = 0x00000800; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_ROVS 0x00001000")] + public const int D3D_SHADER_REQUIRES_ROVS = 0x00001000; + + [NativeTypeName( + "#define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x00002000" + )] + public const int D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER = + 0x00002000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_WAVE_OPS 0x00004000")] + public const int D3D_SHADER_REQUIRES_WAVE_OPS = 0x00004000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_INT64_OPS 0x00008000")] + public const int D3D_SHADER_REQUIRES_INT64_OPS = 0x00008000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_VIEW_ID 0x00010000")] + public const int D3D_SHADER_REQUIRES_VIEW_ID = 0x00010000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_BARYCENTRICS 0x00020000")] + public const int D3D_SHADER_REQUIRES_BARYCENTRICS = 0x00020000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS 0x00040000")] + public const int D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS = 0x00040000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_SHADING_RATE 0x00080000")] + public const int D3D_SHADER_REQUIRES_SHADING_RATE = 0x00080000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1 0x00100000")] + public const int D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1 = 0x00100000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK 0x00200000")] + public const int D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK = 0x00200000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE 0x00400000")] + public const int D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE = 0x00400000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED 0x00800000")] + public const int D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED = 0x00800000; + + [NativeTypeName( + "#define D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x01000000" + )] + public const int D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS = 0x01000000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x02000000")] + public const int D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING = 0x02000000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x04000000")] + public const int D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING = 0x04000000; + + [NativeTypeName("#define D3D_SHADER_REQUIRES_WAVE_MMA 0x08000000")] + public const int D3D_SHADER_REQUIRES_WAVE_MMA = 0x08000000; + + [NativeTypeName( + "#define D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000" + )] + public const int D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE = 0x10000000; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_FUNCTION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_FUNCTION_DESC.gen.cs new file mode 100644 index 0000000000..55ac407f85 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_FUNCTION_DESC.gen.cs @@ -0,0 +1,145 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FUNCTION_DESC +{ + /// + + public uint Version; + + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Creator; + + /// + + public uint Flags; + + /// + + public uint ConstantBuffers; + + /// + + public uint BoundResources; + + /// + + public uint InstructionCount; + + /// + + public uint TempRegisterCount; + + /// + + public uint TempArrayCount; + + /// + + public uint DefCount; + + /// + + public uint DclCount; + + /// + + public uint TextureNormalInstructions; + + /// + + public uint TextureLoadInstructions; + + /// + + public uint TextureCompInstructions; + + /// + + public uint TextureBiasInstructions; + + /// + + public uint TextureGradientInstructions; + + /// + + public uint FloatInstructionCount; + + /// + + public uint IntInstructionCount; + + /// + + public uint UintInstructionCount; + + /// + + public uint StaticFlowControlCount; + + /// + + public uint DynamicFlowControlCount; + + /// + + public uint MacroInstructionCount; + + /// + + public uint ArrayInstructionCount; + + /// + + public uint MovInstructionCount; + + /// + + public uint MovcInstructionCount; + + /// + + public uint ConversionInstructionCount; + + /// + + public uint BitwiseInstructionCount; + + /// + + public D3D_FEATURE_LEVEL MinFeatureLevel; + + /// + + [NativeTypeName("UINT64")] + public ulong RequiredFeatureFlags; + + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Name; + + /// + + public int FunctionParameterCount; + + /// + + public BOOL HasReturn; + + /// + + public BOOL Has10Level9VertexShader; + + /// + + public BOOL Has10Level9PixelShader; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_LIBRARY_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_LIBRARY_DESC.gen.cs new file mode 100644 index 0000000000..f00f855eb6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_LIBRARY_DESC.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_LIBRARY_DESC +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Creator; + + /// + + public uint Flags; + + /// + + public uint FunctionCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_PARAMETER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_PARAMETER_DESC.gen.cs new file mode 100644 index 0000000000..2a77c17331 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_PARAMETER_DESC.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_PARAMETER_DESC +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Name; + + /// + + [NativeTypeName("LPCSTR")] + public sbyte* SemanticName; + + /// + + public D3D_SHADER_VARIABLE_TYPE Type; + + /// + + public D3D_SHADER_VARIABLE_CLASS Class; + + /// + + public uint Rows; + + /// + + public uint Columns; + + /// + + public D3D_INTERPOLATION_MODE InterpolationMode; + + /// + + public D3D_PARAMETER_FLAGS Flags; + + /// + + public uint FirstInRegister; + + /// + + public uint FirstInComponent; + + /// + + public uint FirstOutRegister; + + /// + + public uint FirstOutComponent; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_BUFFER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_BUFFER_DESC.gen.cs new file mode 100644 index 0000000000..ce0c7a483c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_BUFFER_DESC.gen.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SHADER_BUFFER_DESC +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Name; + + /// + + public D3D_CBUFFER_TYPE Type; + + /// + + public uint Variables; + + /// + + public uint Size; + + /// + + public uint uFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_DESC.gen.cs new file mode 100644 index 0000000000..a1106e3e41 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_DESC.gen.cs @@ -0,0 +1,161 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SHADER_DESC +{ + /// + + public uint Version; + + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Creator; + + /// + + public uint Flags; + + /// + + public uint ConstantBuffers; + + /// + + public uint BoundResources; + + /// + + public uint InputParameters; + + /// + + public uint OutputParameters; + + /// + + public uint InstructionCount; + + /// + + public uint TempRegisterCount; + + /// + + public uint TempArrayCount; + + /// + + public uint DefCount; + + /// + + public uint DclCount; + + /// + + public uint TextureNormalInstructions; + + /// + + public uint TextureLoadInstructions; + + /// + + public uint TextureCompInstructions; + + /// + + public uint TextureBiasInstructions; + + /// + + public uint TextureGradientInstructions; + + /// + + public uint FloatInstructionCount; + + /// + + public uint IntInstructionCount; + + /// + + public uint UintInstructionCount; + + /// + + public uint StaticFlowControlCount; + + /// + + public uint DynamicFlowControlCount; + + /// + + public uint MacroInstructionCount; + + /// + + public uint ArrayInstructionCount; + + /// + + public uint CutInstructionCount; + + /// + + public uint EmitInstructionCount; + + /// + + public D3D_PRIMITIVE_TOPOLOGY GSOutputTopology; + + /// + + public uint GSMaxOutputVertexCount; + + /// + + public D3D_PRIMITIVE InputPrimitive; + + /// + + public uint PatchConstantParameters; + + /// + + public uint cGSInstanceCount; + + /// + + public uint cControlPoints; + + /// + + public D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive; + + /// + + public D3D_TESSELLATOR_PARTITIONING HSPartitioning; + + /// + + public D3D_TESSELLATOR_DOMAIN TessellatorDomain; + + /// + + public uint cBarrierInstructions; + + /// + + public uint cInterlockedInstructions; + + /// + + public uint cTextureStoreInstructions; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_INPUT_BIND_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_INPUT_BIND_DESC.gen.cs new file mode 100644 index 0000000000..3984ab6394 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_INPUT_BIND_DESC.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SHADER_INPUT_BIND_DESC +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Name; + + /// + + public D3D_SHADER_INPUT_TYPE Type; + + /// + + public uint BindPoint; + + /// + + public uint BindCount; + + /// + + public uint uFlags; + + /// + + public D3D_RESOURCE_RETURN_TYPE ReturnType; + + /// + + public D3D_SRV_DIMENSION Dimension; + + /// + + public uint NumSamples; + + /// + + public uint Space; + + /// + + public uint uID; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_TYPE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_TYPE_DESC.gen.cs new file mode 100644 index 0000000000..4cc9ad0770 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_TYPE_DESC.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SHADER_TYPE_DESC +{ + /// + + public D3D_SHADER_VARIABLE_CLASS Class; + + /// + + public D3D_SHADER_VARIABLE_TYPE Type; + + /// + + public uint Rows; + + /// + + public uint Columns; + + /// + + public uint Elements; + + /// + + public uint Members; + + /// + + public uint Offset; + + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Name; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VARIABLE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VARIABLE_DESC.gen.cs new file mode 100644 index 0000000000..eea788d58d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VARIABLE_DESC.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SHADER_VARIABLE_DESC +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Name; + + /// + + public uint StartOffset; + + /// + + public uint Size; + + /// + + public uint uFlags; + + /// + + [NativeTypeName("LPVOID")] + public void* DefaultValue; + + /// + + public uint StartTexture; + + /// + + public uint TextureSize; + + /// + + public uint StartSampler; + + /// + + public uint SamplerSize; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VERSION_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VERSION_TYPE.gen.cs new file mode 100644 index 0000000000..1158aba9d6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VERSION_TYPE.gen.cs @@ -0,0 +1,72 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_SHADER_VERSION_TYPE +{ + /// + + D3D12_SHVER_PIXEL_SHADER = 0, + + /// + + D3D12_SHVER_VERTEX_SHADER = 1, + + /// + + D3D12_SHVER_GEOMETRY_SHADER = 2, + + /// + + D3D12_SHVER_HULL_SHADER = 3, + + /// + + D3D12_SHVER_DOMAIN_SHADER = 4, + + /// + + D3D12_SHVER_COMPUTE_SHADER = 5, + + /// + + D3D12_SHVER_LIBRARY = 6, + + /// + + D3D12_SHVER_RAY_GENERATION_SHADER = 7, + + /// + + D3D12_SHVER_INTERSECTION_SHADER = 8, + + /// + + D3D12_SHVER_ANY_HIT_SHADER = 9, + + /// + + D3D12_SHVER_CLOSEST_HIT_SHADER = 10, + + /// + + D3D12_SHVER_MISS_SHADER = 11, + + /// + + D3D12_SHVER_CALLABLE_SHADER = 12, + + /// + + D3D12_SHVER_MESH_SHADER = 13, + + /// + + D3D12_SHVER_AMPLIFICATION_SHADER = 14, + + /// + + D3D12_SHVER_RESERVED0 = 0xFFF0, +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/D3D12_SIGNATURE_PARAMETER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SIGNATURE_PARAMETER_DESC.gen.cs new file mode 100644 index 0000000000..4a55fa0b55 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/D3D12_SIGNATURE_PARAMETER_DESC.gen.cs @@ -0,0 +1,45 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_SIGNATURE_PARAMETER_DESC +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* SemanticName; + + /// + + public uint SemanticIndex; + + /// + + public uint Register; + + /// + + public D3D_NAME SystemValueType; + + /// + + public D3D_REGISTER_COMPONENT_TYPE ComponentType; + + /// + + public byte Mask; + + /// + + public byte ReadWriteMask; + + /// + + public uint Stream; + + /// + + public D3D_MIN_PRECISION MinPrecision; +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/ID3D12FunctionParameterReflection.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/ID3D12FunctionParameterReflection.gen.cs new file mode 100644 index 0000000000..c2dddbfb2c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/ID3D12FunctionParameterReflection.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("EC25F42D-7006-4F2B-B33E-02CC3375733F")] +public unsafe partial struct ID3D12FunctionParameterReflection + : ID3D12FunctionParameterReflection.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12FunctionParameterReflection)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT GetDesc(D3D12_PARAMETER_DESC* pDesc) + { + return ( + (delegate* unmanaged)( + lpVtbl[0] + ) + )((ID3D12FunctionParameterReflection*)Unsafe.AsPointer(ref this), pDesc); + } + + public interface Interface + { + [VtblIndex(0)] + HRESULT GetDesc(D3D12_PARAMETER_DESC* pDesc); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName( + "HRESULT (D3D12_PARAMETER_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/ID3D12FunctionReflection.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/ID3D12FunctionReflection.gen.cs new file mode 100644 index 0000000000..9b8f24ec32 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/ID3D12FunctionReflection.gen.cs @@ -0,0 +1,211 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("1108795C-2772-4BA9-B2A8-D464DC7E2799")] +public unsafe partial struct ID3D12FunctionReflection + : ID3D12FunctionReflection.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12FunctionReflection)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT GetDesc(D3D12_FUNCTION_DESC* pDesc) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12FunctionReflection*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByIndex(uint BufferIndex) + { + return ( + (delegate* unmanaged< + ID3D12FunctionReflection*, + uint, + ID3D12ShaderReflectionConstantBuffer*>)(lpVtbl[1]) + )((ID3D12FunctionReflection*)Unsafe.AsPointer(ref this), BufferIndex); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + public ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByName( + [NativeTypeName("LPCSTR")] sbyte* Name + ) + { + return ( + (delegate* unmanaged< + ID3D12FunctionReflection*, + sbyte*, + ID3D12ShaderReflectionConstantBuffer*>)(lpVtbl[2]) + )((ID3D12FunctionReflection*)Unsafe.AsPointer(ref this), Name); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetResourceBindingDesc(uint ResourceIndex, D3D12_SHADER_INPUT_BIND_DESC* pDesc) + { + return ( + (delegate* unmanaged< + ID3D12FunctionReflection*, + uint, + D3D12_SHADER_INPUT_BIND_DESC*, + int>)(lpVtbl[3]) + )((ID3D12FunctionReflection*)Unsafe.AsPointer(ref this), ResourceIndex, pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public ID3D12ShaderReflectionVariable* GetVariableByName([NativeTypeName("LPCSTR")] sbyte* Name) + { + return ( + (delegate* unmanaged< + ID3D12FunctionReflection*, + sbyte*, + ID3D12ShaderReflectionVariable*>)(lpVtbl[4]) + )((ID3D12FunctionReflection*)Unsafe.AsPointer(ref this), Name); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT GetResourceBindingDescByName( + [NativeTypeName("LPCSTR")] sbyte* Name, + D3D12_SHADER_INPUT_BIND_DESC* pDesc + ) + { + return ( + (delegate* unmanaged< + ID3D12FunctionReflection*, + sbyte*, + D3D12_SHADER_INPUT_BIND_DESC*, + int>)(lpVtbl[5]) + )((ID3D12FunctionReflection*)Unsafe.AsPointer(ref this), Name, pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public ID3D12FunctionParameterReflection* GetFunctionParameter(int ParameterIndex) + { + return ( + (delegate* unmanaged< + ID3D12FunctionReflection*, + int, + ID3D12FunctionParameterReflection*>)(lpVtbl[6]) + )((ID3D12FunctionReflection*)Unsafe.AsPointer(ref this), ParameterIndex); + } + + public interface Interface + { + [VtblIndex(0)] + HRESULT GetDesc(D3D12_FUNCTION_DESC* pDesc); + + [VtblIndex(1)] + ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByIndex(uint BufferIndex); + + [VtblIndex(2)] + ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByName( + [NativeTypeName("LPCSTR")] sbyte* Name + ); + + [VtblIndex(3)] + HRESULT GetResourceBindingDesc(uint ResourceIndex, D3D12_SHADER_INPUT_BIND_DESC* pDesc); + + [VtblIndex(4)] + ID3D12ShaderReflectionVariable* GetVariableByName([NativeTypeName("LPCSTR")] sbyte* Name); + + [VtblIndex(5)] + HRESULT GetResourceBindingDescByName( + [NativeTypeName("LPCSTR")] sbyte* Name, + D3D12_SHADER_INPUT_BIND_DESC* pDesc + ); + + [VtblIndex(6)] + ID3D12FunctionParameterReflection* GetFunctionParameter(int ParameterIndex); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName( + "HRESULT (D3D12_FUNCTION_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetDesc; + + [NativeTypeName( + "ID3D12ShaderReflectionConstantBuffer *(UINT) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12ShaderReflectionConstantBuffer*> GetConstantBufferByIndex; + + [NativeTypeName( + "ID3D12ShaderReflectionConstantBuffer *(LPCSTR) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + sbyte*, + ID3D12ShaderReflectionConstantBuffer*> GetConstantBufferByName; + + [NativeTypeName( + "HRESULT (UINT, D3D12_SHADER_INPUT_BIND_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_SHADER_INPUT_BIND_DESC*, + int> GetResourceBindingDesc; + + [NativeTypeName( + "ID3D12ShaderReflectionVariable *(LPCSTR) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + sbyte*, + ID3D12ShaderReflectionVariable*> GetVariableByName; + + [NativeTypeName( + "HRESULT (LPCSTR, D3D12_SHADER_INPUT_BIND_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + sbyte*, + D3D12_SHADER_INPUT_BIND_DESC*, + int> GetResourceBindingDescByName; + + [NativeTypeName( + "ID3D12FunctionParameterReflection *(INT) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + int, + ID3D12FunctionParameterReflection*> GetFunctionParameter; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/ID3D12LibraryReflection.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/ID3D12LibraryReflection.gen.cs new file mode 100644 index 0000000000..c548b98107 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/ID3D12LibraryReflection.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8E349D19-54DB-4A56-9DC9-119D87BDB804")] +[NativeTypeName("struct ID3D12LibraryReflection : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12LibraryReflection + : ID3D12LibraryReflection.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12LibraryReflection)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12LibraryReflection*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12LibraryReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12LibraryReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetDesc(D3D12_LIBRARY_DESC* pDesc) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12LibraryReflection*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public ID3D12FunctionReflection* GetFunctionByIndex(int FunctionIndex) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12LibraryReflection*)Unsafe.AsPointer(ref this), FunctionIndex); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT GetDesc(D3D12_LIBRARY_DESC* pDesc); + + [VtblIndex(4)] + ID3D12FunctionReflection* GetFunctionByIndex(int FunctionIndex); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (D3D12_LIBRARY_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetDesc; + + [NativeTypeName( + "ID3D12FunctionReflection *(INT) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetFunctionByIndex; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflection.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflection.gen.cs new file mode 100644 index 0000000000..4b44b707f5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflection.gen.cs @@ -0,0 +1,502 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("5A58797D-A72C-478D-8BA2-EFC6B0EFE88E")] +[NativeTypeName("struct ID3D12ShaderReflection : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12ShaderReflection : ID3D12ShaderReflection.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ShaderReflection)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetDesc(D3D12_SHADER_DESC* pDesc) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), + pDesc + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByIndex(uint Index) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflection*, + uint, + ID3D12ShaderReflectionConstantBuffer*>)(lpVtbl[4]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByName( + [NativeTypeName("LPCSTR")] sbyte* Name + ) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflection*, + sbyte*, + ID3D12ShaderReflectionConstantBuffer*>)(lpVtbl[5]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), Name); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT GetResourceBindingDesc(uint ResourceIndex, D3D12_SHADER_INPUT_BIND_DESC* pDesc) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflection*, + uint, + D3D12_SHADER_INPUT_BIND_DESC*, + int>)(lpVtbl[6]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), ResourceIndex, pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetInputParameterDesc(uint ParameterIndex, D3D12_SIGNATURE_PARAMETER_DESC* pDesc) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflection*, + uint, + D3D12_SIGNATURE_PARAMETER_DESC*, + int>)(lpVtbl[7]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), ParameterIndex, pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT GetOutputParameterDesc( + uint ParameterIndex, + D3D12_SIGNATURE_PARAMETER_DESC* pDesc + ) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflection*, + uint, + D3D12_SIGNATURE_PARAMETER_DESC*, + int>)(lpVtbl[8]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), ParameterIndex, pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT GetPatchConstantParameterDesc( + uint ParameterIndex, + D3D12_SIGNATURE_PARAMETER_DESC* pDesc + ) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflection*, + uint, + D3D12_SIGNATURE_PARAMETER_DESC*, + int>)(lpVtbl[9]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), ParameterIndex, pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public ID3D12ShaderReflectionVariable* GetVariableByName([NativeTypeName("LPCSTR")] sbyte* Name) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), Name); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT GetResourceBindingDescByName( + [NativeTypeName("LPCSTR")] sbyte* Name, + D3D12_SHADER_INPUT_BIND_DESC* pDesc + ) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflection*, + sbyte*, + D3D12_SHADER_INPUT_BIND_DESC*, + int>)(lpVtbl[11]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), Name, pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public uint GetMovInstructionCount() + { + return ((delegate* unmanaged)(lpVtbl[12]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public uint GetMovcInstructionCount() + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public uint GetConversionInstructionCount() + { + return ((delegate* unmanaged)(lpVtbl[14]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public uint GetBitwiseInstructionCount() + { + return ((delegate* unmanaged)(lpVtbl[15]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public D3D_PRIMITIVE GetGSInputPrimitive() + { + return ((delegate* unmanaged)(lpVtbl[16]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public BOOL IsSampleFrequencyShader() + { + return ((delegate* unmanaged)(lpVtbl[17]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public uint GetNumInterfaceSlots() + { + return ((delegate* unmanaged)(lpVtbl[18]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HRESULT GetMinFeatureLevel( + [NativeTypeName("enum D3D_FEATURE_LEVEL *")] D3D_FEATURE_LEVEL* pLevel + ) + { + return ( + (delegate* unmanaged)(lpVtbl[19]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), pLevel); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public uint GetThreadGroupSize(uint* pSizeX, uint* pSizeY, uint* pSizeZ) + { + return ( + (delegate* unmanaged)(lpVtbl[20]) + )((ID3D12ShaderReflection*)Unsafe.AsPointer(ref this), pSizeX, pSizeY, pSizeZ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + [return: NativeTypeName("UINT64")] + public ulong GetRequiresFlags() + { + return ((delegate* unmanaged)(lpVtbl[21]))( + (ID3D12ShaderReflection*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT GetDesc(D3D12_SHADER_DESC* pDesc); + + [VtblIndex(4)] + ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByIndex(uint Index); + + [VtblIndex(5)] + ID3D12ShaderReflectionConstantBuffer* GetConstantBufferByName( + [NativeTypeName("LPCSTR")] sbyte* Name + ); + + [VtblIndex(6)] + HRESULT GetResourceBindingDesc(uint ResourceIndex, D3D12_SHADER_INPUT_BIND_DESC* pDesc); + + [VtblIndex(7)] + HRESULT GetInputParameterDesc(uint ParameterIndex, D3D12_SIGNATURE_PARAMETER_DESC* pDesc); + + [VtblIndex(8)] + HRESULT GetOutputParameterDesc(uint ParameterIndex, D3D12_SIGNATURE_PARAMETER_DESC* pDesc); + + [VtblIndex(9)] + HRESULT GetPatchConstantParameterDesc( + uint ParameterIndex, + D3D12_SIGNATURE_PARAMETER_DESC* pDesc + ); + + [VtblIndex(10)] + ID3D12ShaderReflectionVariable* GetVariableByName([NativeTypeName("LPCSTR")] sbyte* Name); + + [VtblIndex(11)] + HRESULT GetResourceBindingDescByName( + [NativeTypeName("LPCSTR")] sbyte* Name, + D3D12_SHADER_INPUT_BIND_DESC* pDesc + ); + + [VtblIndex(12)] + uint GetMovInstructionCount(); + + [VtblIndex(13)] + uint GetMovcInstructionCount(); + + [VtblIndex(14)] + uint GetConversionInstructionCount(); + + [VtblIndex(15)] + uint GetBitwiseInstructionCount(); + + [VtblIndex(16)] + D3D_PRIMITIVE GetGSInputPrimitive(); + + [VtblIndex(17)] + BOOL IsSampleFrequencyShader(); + + [VtblIndex(18)] + uint GetNumInterfaceSlots(); + + [VtblIndex(19)] + HRESULT GetMinFeatureLevel( + [NativeTypeName("enum D3D_FEATURE_LEVEL *")] D3D_FEATURE_LEVEL* pLevel + ); + + [VtblIndex(20)] + uint GetThreadGroupSize(uint* pSizeX, uint* pSizeY, uint* pSizeZ); + + [VtblIndex(21)] + [return: NativeTypeName("UINT64")] + ulong GetRequiresFlags(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (D3D12_SHADER_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetDesc; + + [NativeTypeName( + "ID3D12ShaderReflectionConstantBuffer *(UINT) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12ShaderReflectionConstantBuffer*> GetConstantBufferByIndex; + + [NativeTypeName( + "ID3D12ShaderReflectionConstantBuffer *(LPCSTR) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + sbyte*, + ID3D12ShaderReflectionConstantBuffer*> GetConstantBufferByName; + + [NativeTypeName( + "HRESULT (UINT, D3D12_SHADER_INPUT_BIND_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_SHADER_INPUT_BIND_DESC*, + int> GetResourceBindingDesc; + + [NativeTypeName( + "HRESULT (UINT, D3D12_SIGNATURE_PARAMETER_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_SIGNATURE_PARAMETER_DESC*, + int> GetInputParameterDesc; + + [NativeTypeName( + "HRESULT (UINT, D3D12_SIGNATURE_PARAMETER_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_SIGNATURE_PARAMETER_DESC*, + int> GetOutputParameterDesc; + + [NativeTypeName( + "HRESULT (UINT, D3D12_SIGNATURE_PARAMETER_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_SIGNATURE_PARAMETER_DESC*, + int> GetPatchConstantParameterDesc; + + [NativeTypeName( + "ID3D12ShaderReflectionVariable *(LPCSTR) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + sbyte*, + ID3D12ShaderReflectionVariable*> GetVariableByName; + + [NativeTypeName( + "HRESULT (LPCSTR, D3D12_SHADER_INPUT_BIND_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + sbyte*, + D3D12_SHADER_INPUT_BIND_DESC*, + int> GetResourceBindingDescByName; + + [NativeTypeName("UINT () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetMovInstructionCount; + + [NativeTypeName("UINT () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetMovcInstructionCount; + + [NativeTypeName("UINT () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetConversionInstructionCount; + + [NativeTypeName("UINT () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetBitwiseInstructionCount; + + [NativeTypeName("D3D_PRIMITIVE () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetGSInputPrimitive; + + [NativeTypeName("BOOL () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged IsSampleFrequencyShader; + + [NativeTypeName("UINT () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetNumInterfaceSlots; + + [NativeTypeName( + "HRESULT (enum D3D_FEATURE_LEVEL *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetMinFeatureLevel; + + [NativeTypeName( + "UINT (UINT *, UINT *, UINT *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetThreadGroupSize; + + [NativeTypeName("UINT64 () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetRequiresFlags; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionConstantBuffer.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionConstantBuffer.gen.cs new file mode 100644 index 0000000000..a1be906754 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionConstantBuffer.gen.cs @@ -0,0 +1,100 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C59598B4-48B3-4869-B9B1-B1618B14A8B7")] +public unsafe partial struct ID3D12ShaderReflectionConstantBuffer + : ID3D12ShaderReflectionConstantBuffer.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ShaderReflectionConstantBuffer)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT GetDesc(D3D12_SHADER_BUFFER_DESC* pDesc) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflectionConstantBuffer*, + D3D12_SHADER_BUFFER_DESC*, + int>)(lpVtbl[0]) + )((ID3D12ShaderReflectionConstantBuffer*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public ID3D12ShaderReflectionVariable* GetVariableByIndex(uint Index) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflectionConstantBuffer*, + uint, + ID3D12ShaderReflectionVariable*>)(lpVtbl[1]) + )((ID3D12ShaderReflectionConstantBuffer*)Unsafe.AsPointer(ref this), Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + public ID3D12ShaderReflectionVariable* GetVariableByName([NativeTypeName("LPCSTR")] sbyte* Name) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflectionConstantBuffer*, + sbyte*, + ID3D12ShaderReflectionVariable*>)(lpVtbl[2]) + )((ID3D12ShaderReflectionConstantBuffer*)Unsafe.AsPointer(ref this), Name); + } + + public interface Interface + { + [VtblIndex(0)] + HRESULT GetDesc(D3D12_SHADER_BUFFER_DESC* pDesc); + + [VtblIndex(1)] + ID3D12ShaderReflectionVariable* GetVariableByIndex(uint Index); + + [VtblIndex(2)] + ID3D12ShaderReflectionVariable* GetVariableByName([NativeTypeName("LPCSTR")] sbyte* Name); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName( + "HRESULT (D3D12_SHADER_BUFFER_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetDesc; + + [NativeTypeName( + "ID3D12ShaderReflectionVariable *(UINT) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + ID3D12ShaderReflectionVariable*> GetVariableByIndex; + + [NativeTypeName( + "ID3D12ShaderReflectionVariable *(LPCSTR) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + sbyte*, + ID3D12ShaderReflectionVariable*> GetVariableByName; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionType.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionType.gen.cs new file mode 100644 index 0000000000..9fc0557d64 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionType.gen.cs @@ -0,0 +1,254 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("E913C351-783D-48CA-A1D1-4F306284AD56")] +public unsafe partial struct ID3D12ShaderReflectionType + : ID3D12ShaderReflectionType.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ShaderReflectionType)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT GetDesc(D3D12_SHADER_TYPE_DESC* pDesc) + { + return ( + (delegate* unmanaged)( + lpVtbl[0] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public ID3D12ShaderReflectionType* GetMemberTypeByIndex(uint Index) + { + return ( + (delegate* unmanaged)( + lpVtbl[1] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + public ID3D12ShaderReflectionType* GetMemberTypeByName([NativeTypeName("LPCSTR")] sbyte* Name) + { + return ( + (delegate* unmanaged)( + lpVtbl[2] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), Name); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + [return: NativeTypeName("LPCSTR")] + public sbyte* GetMemberTypeName(uint Index) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), + Index + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT IsEqual(ID3D12ShaderReflectionType* pType) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), pType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public ID3D12ShaderReflectionType* GetSubType() + { + return ( + (delegate* unmanaged)( + lpVtbl[5] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public ID3D12ShaderReflectionType* GetBaseClass() + { + return ( + (delegate* unmanaged)( + lpVtbl[6] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetNumInterfaces() + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public ID3D12ShaderReflectionType* GetInterfaceByIndex(uint uIndex) + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), uIndex); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT IsOfType(ID3D12ShaderReflectionType* pType) + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), pType); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT ImplementsInterface(ID3D12ShaderReflectionType* pBase) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12ShaderReflectionType*)Unsafe.AsPointer(ref this), pBase); + } + + public interface Interface + { + [VtblIndex(0)] + HRESULT GetDesc(D3D12_SHADER_TYPE_DESC* pDesc); + + [VtblIndex(1)] + ID3D12ShaderReflectionType* GetMemberTypeByIndex(uint Index); + + [VtblIndex(2)] + ID3D12ShaderReflectionType* GetMemberTypeByName([NativeTypeName("LPCSTR")] sbyte* Name); + + [VtblIndex(3)] + [return: NativeTypeName("LPCSTR")] + sbyte* GetMemberTypeName(uint Index); + + [VtblIndex(4)] + HRESULT IsEqual(ID3D12ShaderReflectionType* pType); + + [VtblIndex(5)] + ID3D12ShaderReflectionType* GetSubType(); + + [VtblIndex(6)] + ID3D12ShaderReflectionType* GetBaseClass(); + + [VtblIndex(7)] + uint GetNumInterfaces(); + + [VtblIndex(8)] + ID3D12ShaderReflectionType* GetInterfaceByIndex(uint uIndex); + + [VtblIndex(9)] + HRESULT IsOfType(ID3D12ShaderReflectionType* pType); + + [VtblIndex(10)] + HRESULT ImplementsInterface(ID3D12ShaderReflectionType* pBase); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName( + "HRESULT (D3D12_SHADER_TYPE_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetDesc; + + [NativeTypeName( + "ID3D12ShaderReflectionType *(UINT) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetMemberTypeByIndex; + + [NativeTypeName( + "ID3D12ShaderReflectionType *(LPCSTR) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetMemberTypeByName; + + [NativeTypeName("LPCSTR (UINT) __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetMemberTypeName; + + [NativeTypeName( + "HRESULT (ID3D12ShaderReflectionType *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged IsEqual; + + [NativeTypeName( + "ID3D12ShaderReflectionType *() __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetSubType; + + [NativeTypeName( + "ID3D12ShaderReflectionType *() __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetBaseClass; + + [NativeTypeName("UINT () __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetNumInterfaces; + + [NativeTypeName( + "ID3D12ShaderReflectionType *(UINT) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetInterfaceByIndex; + + [NativeTypeName( + "HRESULT (ID3D12ShaderReflectionType *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged IsOfType; + + [NativeTypeName( + "HRESULT (ID3D12ShaderReflectionType *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged ImplementsInterface; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionVariable.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionVariable.gen.cs new file mode 100644 index 0000000000..b4a2360d2a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionVariable.gen.cs @@ -0,0 +1,110 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8337A8A6-A216-444A-B2F4-314733A73AEA")] +public unsafe partial struct ID3D12ShaderReflectionVariable + : ID3D12ShaderReflectionVariable.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12ShaderReflectionVariable)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT GetDesc(D3D12_SHADER_VARIABLE_DESC* pDesc) + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflectionVariable*, + D3D12_SHADER_VARIABLE_DESC*, + int>)(lpVtbl[0]) + )((ID3D12ShaderReflectionVariable*)Unsafe.AsPointer(ref this), pDesc); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public new ID3D12ShaderReflectionType* GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[1] + ) + )((ID3D12ShaderReflectionVariable*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + public ID3D12ShaderReflectionConstantBuffer* GetBuffer() + { + return ( + (delegate* unmanaged< + ID3D12ShaderReflectionVariable*, + ID3D12ShaderReflectionConstantBuffer*>)(lpVtbl[2]) + )((ID3D12ShaderReflectionVariable*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetInterfaceSlot(uint uArrayIndex) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12ShaderReflectionVariable*)Unsafe.AsPointer(ref this), + uArrayIndex + ); + } + + public interface Interface + { + [VtblIndex(0)] + HRESULT GetDesc(D3D12_SHADER_VARIABLE_DESC* pDesc); + + [VtblIndex(1)] + ID3D12ShaderReflectionType* GetType(); + + [VtblIndex(2)] + ID3D12ShaderReflectionConstantBuffer* GetBuffer(); + + [VtblIndex(3)] + uint GetInterfaceSlot(uint uArrayIndex); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName( + "HRESULT (D3D12_SHADER_VARIABLE_DESC *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetDesc; + + [NativeTypeName( + "ID3D12ShaderReflectionType *() __attribute__((nothrow)) __attribute__((stdcall))" + )] + public new delegate* unmanaged GetType; + + [NativeTypeName( + "ID3D12ShaderReflectionConstantBuffer *() __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetBuffer; + + [NativeTypeName("UINT (UINT) __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged GetInterfaceSlot; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12shader/IID.gen.cs b/sources/Windows/DirectX/headers/d3d12shader/IID.gen.cs new file mode 100644 index 0000000000..c706860d0e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12shader/IID.gen.cs @@ -0,0 +1,96 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ShaderReflectionType + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x51, 0xC3, 0x13, 0xE9, 0x3D, 0x78, 0xCA, 0x48, 0xA1, 0xD1, 0x4F, 0x30, 0x62, 0x84, 0xAD, 0x56]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ShaderReflectionVariable + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA6, 0xA8, 0x37, 0x83, 0x16, 0xA2, 0x4A, 0x44, 0xB2, 0xF4, 0x31, 0x47, 0x33, 0xA7, 0x3A, 0xEA]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ShaderReflectionConstantBuffer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xB4, 0x98, 0x95, 0xC5, 0xB3, 0x48, 0x69, 0x48, 0xB9, 0xB1, 0xB1, 0x61, 0x8B, 0x14, 0xA8, 0xB7]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12ShaderReflection + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7D, 0x79, 0x58, 0x5A, 0x2C, 0xA7, 0x8D, 0x47, 0x8B, 0xA2, 0xEF, 0xC6, 0xB0, 0xEF, 0xE8, 0x8E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12LibraryReflection + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x19, 0x9D, 0x34, 0x8E, 0xDB, 0x54, 0x56, 0x4A, 0x9D, 0xC9, 0x11, 0x9D, 0x87, 0xBD, 0xB8, 0x04]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12FunctionReflection + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x5C, 0x79, 0x08, 0x11, 0x72, 0x27, 0xA9, 0x4B, 0xB2, 0xA8, 0xD4, 0x64, 0xDC, 0x7E, 0x27, 0x99]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12FunctionParameterReflection + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x2D, 0xF4, 0x25, 0xEC, 0x06, 0x70, 0x2B, 0x4F, 0xB3, 0x3E, 0x02, 0xCC, 0x33, 0x75, 0x73, 0x3F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12.gen.cs new file mode 100644 index 0000000000..6b5e741b07 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12.gen.cs @@ -0,0 +1,251 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static partial class D3D12 +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_MPEG2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7F, 0x41, 0x27, 0xEE, 0x28, 0x5E, 0x65, 0x4E, 0xBE, 0xEA, 0x1D, 0x26, 0xB5, 0x08, 0xAD, 0xC9]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_MPEG1_AND_MPEG2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x12, 0x5F, 0x69, 0x86, 0x0E, 0x34, 0x04, 0x4F, 0x9F, 0xD3, 0x92, 0x53, 0xDD, 0x32, 0x74, 0x60]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_H264 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x68, 0xBE, 0x81, 0x1B, 0xC7, 0xA0, 0xD3, 0x11, 0xB9, 0x84, 0x00, 0xC0, 0x4F, 0x2E, 0x73, 0xC5]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_H264_STEREO_PROGRESSIVE + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xDA, 0xE8, 0x9B, 0xD7, 0xF1, 0x0C, 0x81, 0x4C, 0xB8, 0x2A, 0x69, 0xA4, 0xE2, 0x36, 0xF4, 0x3D]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_H264_STEREO + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xBB, 0xCC, 0xAA, 0xF9, 0xB6, 0xC2, 0xFC, 0x4C, 0x87, 0x79, 0x57, 0x07, 0xB1, 0x76, 0x05, 0x52]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_H264_MULTIVIEW + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x82, 0x9D, 0x5B, 0x70, 0xCF, 0x76, 0xD6, 0x49, 0xB7, 0xE6, 0xAC, 0x88, 0x72, 0xDB, 0x01, 0x3C]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_VC1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA3, 0xBE, 0x81, 0x1B, 0xC7, 0xA0, 0xD3, 0x11, 0xB9, 0x84, 0x00, 0xC0, 0x4F, 0x2E, 0x73, 0xC5]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_VC1_D2010 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA4, 0xBE, 0x81, 0x1B, 0xC7, 0xA0, 0xD3, 0x11, 0xB9, 0x84, 0x00, 0xC0, 0x4F, 0x2E, 0x73, 0xC5]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_SIMPLE + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x74, 0x4D, 0xD6, 0xEF, 0xE8, 0xC9, 0xD7, 0x41, 0xA5, 0xE9, 0xE9, 0xB0, 0xE3, 0x9F, 0xA3, 0x19]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_ADVSIMPLE_NOGMC + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x9F, 0x8A, 0x41, 0xED, 0x0D, 0x01, 0xDA, 0x4E, 0x9A, 0xE3, 0x9A, 0x65, 0x35, 0x8D, 0x8D, 0x2E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x1B, 0xD5, 0x11, 0x5B, 0x4C, 0x2F, 0x52, 0x44, 0xBC, 0xC3, 0x09, 0xF2, 0xA1, 0x16, 0x0C, 0xC0]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xE0, 0xF0, 0x7A, 0x10, 0x1A, 0xEF, 0x19, 0x4D, 0xAB, 0xA8, 0x67, 0xA1, 0x63, 0x07, 0x3D, 0x13]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_VP9 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xF8, 0x07, 0x37, 0x46, 0xD0, 0xA1, 0x85, 0x45, 0x87, 0x6D, 0x83, 0xAA, 0x6D, 0x60, 0xB8, 0x9E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_VP9_10BIT_PROFILE2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xEF, 0x49, 0xC7, 0xA4, 0xCF, 0x6E, 0xAA, 0x48, 0x84, 0x48, 0x50, 0xA7, 0xA1, 0x16, 0x5F, 0xF7]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_VP8 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xEA, 0x99, 0xB8, 0x90, 0x62, 0x3A, 0x05, 0x47, 0x88, 0xB3, 0x8D, 0xF0, 0x4B, 0x27, 0x44, 0xE7]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE0 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xCB, 0x4C, 0xBE, 0xB8, 0x53, 0xCF, 0xBA, 0x46, 0x8D, 0x59, 0xD6, 0xB8, 0xA6, 0xDA, 0x5D, 0x2A]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x0F, 0xFF, 0x36, 0x69, 0xB1, 0x45, 0x63, 0x41, 0x9C, 0xC1, 0x64, 0x6E, 0xF6, 0x94, 0x61, 0x08]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA1, 0x2A, 0x5F, 0x0C, 0x41, 0xE5, 0x89, 0x40, 0xBB, 0x7B, 0x98, 0x11, 0x0A, 0x19, 0xD7, 0xC8]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x09, 0x70, 0x12, 0x17, 0x0F, 0xA0, 0xE1, 0x4C, 0x99, 0x4E, 0xBF, 0x40, 0x81, 0xF6, 0xF3, 0xF0]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xD6, 0xBE, 0x80, 0x2D, 0xAC, 0x9C, 0x35, 0x48, 0x9E, 0x91, 0x32, 0x7B, 0xBC, 0x4F, 0x9E, 0xE8]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_BITSTREAM_ENCRYPTION_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_BITSTREAM_ENCRYPTION_TYPE.gen.cs new file mode 100644 index 0000000000..82ea8431a4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_BITSTREAM_ENCRYPTION_TYPE.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_BITSTREAM_ENCRYPTION_TYPE +{ + /// + + D3D12_BITSTREAM_ENCRYPTION_TYPE_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE.gen.cs new file mode 100644 index 0000000000..765e1b927f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE.gen.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE +{ + /// + + public BOOL IOCoherent; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE.gen.cs new file mode 100644 index 0000000000..279b08551f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE +{ + /// + + public D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL1Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1.gen.cs new file mode 100644 index 0000000000..a01b642df6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1 +{ + /// + + public D3D12_VIDEO_DECODER_HEAP_DESC VideoDecoderHeapDesc; + + /// + + public BOOL Protected; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL1Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT.gen.cs new file mode 100644 index 0000000000..d665a8079b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION Configuration; + + /// + + public D3D12_VIDEO_SAMPLE DecodeSample; + + /// + + public D3D12_VIDEO_FORMAT OutputFormat; + + /// + + public DXGI_RATIONAL FrameRate; + + /// + + public uint BitRate; + + /// + + public D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS SupportFlags; + + /// + + public D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS.gen.cs new file mode 100644 index 0000000000..33744f596c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION Configuration; + + /// + + public uint FormatCount; + + /// + + public DXGI_FORMAT* pOutputFormats; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT.gen.cs new file mode 100644 index 0000000000..3ad8f4f43a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION Configuration; + + /// + + public uint FormatCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM.gen.cs new file mode 100644 index 0000000000..6dc8b51c44 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM.gen.cs @@ -0,0 +1,42 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM +{ + /// + + public uint NodeIndex; + + /// + + public Guid DecodeProfile; + + /// + + public uint Width; + + /// + + public uint Height; + + /// + + public DXGI_FORMAT DecodeFormat; + + /// + + public D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS Components; + + /// + + public uint BinCount; + + /// + + public uint CounterBitDepth; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES.gen.cs new file mode 100644 index 0000000000..2d55ab90cc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES +{ + /// + + public uint NodeIndex; + + /// + + public uint ProfileCount; + + /// + + public Guid* pProfiles; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT.gen.cs new file mode 100644 index 0000000000..eee9b0b293 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT +{ + /// + + public uint NodeIndex; + + /// + + public uint ProfileCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES.gen.cs new file mode 100644 index 0000000000..f6842f811a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION Configuration; + + /// + + public D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT.gen.cs new file mode 100644 index 0000000000..31bd12b35f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION Configuration; + + /// + + public uint Width; + + /// + + public uint Height; + + /// + + public DXGI_FORMAT DecodeFormat; + + /// + + public DXGI_RATIONAL FrameRate; + + /// + + public uint BitRate; + + /// + + public D3D12_VIDEO_DECODE_SUPPORT_FLAGS SupportFlags; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS ConfigurationFlags; + + /// + + public D3D12_VIDEO_DECODE_TIER DecodeTier; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC.gen.cs new file mode 100644 index 0000000000..6f8bb99fb8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public BOOL IsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT.gen.cs new file mode 100644 index 0000000000..c21d55e1df --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; + + /// + + public BOOL IsSupported; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT CodecSupportLimits; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.gen.cs new file mode 100644 index 0000000000..9d9329a48e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; + + /// + + public BOOL IsSupported; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT PictureSupport; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE.gen.cs new file mode 100644 index 0000000000..a945c8f650 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; + + /// + + public D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; + + /// + + public D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionMode; + + /// + + public BOOL IsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE.gen.cs new file mode 100644 index 0000000000..3fdcdf97ef --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE +{ + /// + + public D3D12_VIDEO_ENCODER_HEAP_DESC HeapDesc; + + /// + + public BOOL IsSupported; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL1Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT.gen.cs new file mode 100644 index 0000000000..4ab0be4e41 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; + + /// + + public DXGI_FORMAT Format; + + /// + + public BOOL IsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE.gen.cs new file mode 100644 index 0000000000..81cbe33dac --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; + + /// + + public D3D12_VIDEO_ENCODER_LEVEL_SETTING Level; + + /// + + public D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefreshMode; + + /// + + public BOOL IsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION.gen.cs new file mode 100644 index 0000000000..c8c086545c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public uint ResolutionRatiosCount; + + /// + + public BOOL IsSupported; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MinResolutionSupported; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC MaxResolutionSupported; + + /// + + public uint ResolutionWidthMultipleRequirement; + + /// + + public uint ResolutionHeightMultipleRequirement; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC* pResolutionRatios; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT.gen.cs new file mode 100644 index 0000000000..bccada6832 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public uint ResolutionRatiosCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL.gen.cs new file mode 100644 index 0000000000..b38ba47612 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; + + /// + + public BOOL IsSupported; + + /// + + public D3D12_VIDEO_ENCODER_LEVEL_SETTING MinSupportedLevel; + + /// + + public D3D12_VIDEO_ENCODER_LEVEL_SETTING MaxSupportedLevel; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE.gen.cs new file mode 100644 index 0000000000..e34e9d2508 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE RateControlMode; + + /// + + public BOOL IsSupported; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS.gen.cs new file mode 100644 index 0000000000..4b89ef778a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS +{ + /// + + public uint MaxSubregionsNumber; + + /// + + public uint MaxIntraRefreshFrameDuration; + + /// + + public uint SubregionBlockPixelsSize; + + /// + + public uint QPMapRegionPixelsSize; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS.gen.cs new file mode 100644 index 0000000000..d4573e8cfb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC Profile; + + /// + + public DXGI_FORMAT InputFormat; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; + + /// + + public BOOL IsSupported; + + /// + + public uint CompressedBitstreamBufferAccessAlignment; + + /// + + public uint EncoderMetadataBufferAccessAlignment; + + /// + + public uint MaxEncoderOutputMetadataBufferSize; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT.gen.cs new file mode 100644 index 0000000000..cb40e21bd9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_ENCODER_CODEC Codec; + + /// + + public DXGI_FORMAT InputFormat; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; + + /// + + public D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; + + /// + + public D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; + + /// + + public D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE IntraRefresh; + + /// + + public D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SubregionFrameEncoding; + + /// + + public uint ResolutionsListCount; + + /// + + [NativeTypeName("const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *")] + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList; + + /// + + public uint MaxReferenceFramesInDPB; + + /// + + public D3D12_VIDEO_ENCODER_VALIDATION_FLAGS ValidationFlags; + + /// + + public D3D12_VIDEO_ENCODER_SUPPORT_FLAGS SupportFlags; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC SuggestedProfile; + + /// + + public D3D12_VIDEO_ENCODER_LEVEL_SETTING SuggestedLevel; + + /// + + public D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS* pResolutionDependentSupport; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS.gen.cs new file mode 100644 index 0000000000..db8307e45e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS +{ + /// + + public uint NodeIndex; + + /// + + public uint CommandCount; + + /// + + public D3D12_VIDEO_EXTENSION_COMMAND_INFO* pCommandInfos; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT.gen.cs new file mode 100644 index 0000000000..c3661e2201 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT +{ + /// + + public uint NodeIndex; + + /// + + public uint CommandCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS.gen.cs new file mode 100644 index 0000000000..b914c6c788 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS +{ + /// + + public Guid CommandId; + + /// + + public D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; + + /// + + public uint ParameterCount; + + /// + + public D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO* pParameterInfos; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT.gen.cs new file mode 100644 index 0000000000..516f3e55a3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT +{ + /// + + public Guid CommandId; + + /// + + public D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE Stage; + + /// + + public uint ParameterCount; + + /// + + public uint ParameterPacking; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE.gen.cs new file mode 100644 index 0000000000..3e50a5cac0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE +{ + /// + + public uint NodeIndex; + + /// + + public Guid CommandId; + + /// + + [NativeTypeName("const void *")] + public void* pCreationParameters; + + /// + + [NativeTypeName("SIZE_T")] + public nuint CreationParametersSizeInBytes; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL1Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT.gen.cs new file mode 100644 index 0000000000..e830e45da8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT.gen.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public Guid CommandId; + + /// + + [NativeTypeName("const void *")] + public void* pInputData; + + /// + + [NativeTypeName("SIZE_T")] + public nuint InputDataSizeInBytes; + + /// + + public void* pOutputData; + + /// + + [NativeTypeName("SIZE_T")] + public nuint OutputDataSizeInBytes; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT.gen.cs new file mode 100644 index 0000000000..b5febac5b6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public BOOL VideoDecodeSupport; + + /// + + public BOOL VideoProcessSupport; + + /// + + public BOOL VideoEncodeSupport; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR.gen.cs new file mode 100644 index 0000000000..d5b4d62acf --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR +{ + /// + + public uint NodeIndex; + + /// + + public DXGI_FORMAT InputFormat; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS BlockSizeFlags; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS PrecisionFlags; + + /// + + public D3D12_VIDEO_SIZE_RANGE SizeRange; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES.gen.cs new file mode 100644 index 0000000000..f376e7ee95 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE.gen.cs new file mode 100644 index 0000000000..53e3c6164d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE.gen.cs @@ -0,0 +1,56 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE +{ + /// + + public uint NodeIndex; + + /// + + public DXGI_FORMAT InputFormat; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; + + /// + + public D3D12_VIDEO_SIZE_RANGE SizeRange; + + /// + + public BOOL Protected; + + /// + + [NativeTypeName("UINT64")] + public ulong MotionVectorHeapMemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MotionVectorHeapMemoryPoolL1Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MotionEstimatorMemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MotionEstimatorMemoryPoolL1Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE.gen.cs new file mode 100644 index 0000000000..2a254835b2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE +{ + /// + + public uint NodeMask; + + /// + + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + public D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc; + + /// + + public uint NumInputStreamDescs; + + /// + + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + public D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL1Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1.gen.cs new file mode 100644 index 0000000000..a125a02531 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1.gen.cs @@ -0,0 +1,42 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1 +{ + /// + + public uint NodeMask; + + /// + + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + public D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc; + + /// + + public uint NumInputStreamDescs; + + /// + + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + public D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs; + + /// + + public BOOL Protected; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL0Size; + + /// + + [NativeTypeName("UINT64")] + public ulong MemoryPoolL1Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS.gen.cs new file mode 100644 index 0000000000..5cd215ec88 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS +{ + /// + + public uint NodeIndex; + + /// + + public uint MaxInputStreams; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES.gen.cs new file mode 100644 index 0000000000..ead6019aba --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS SupportFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO.gen.cs new file mode 100644 index 0000000000..1005577f79 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode; + + /// + + public D3D12_VIDEO_PROCESS_FILTER_FLAGS Filters; + + /// + + public D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; + + /// + + public DXGI_RATIONAL InputFrameRate; + + /// + + public DXGI_RATIONAL OutputFrameRate; + + /// + + public BOOL EnableAutoProcessing; + + /// + + public uint PastFrames; + + /// + + public uint FutureFrames; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT.gen.cs new file mode 100644 index 0000000000..92b260134f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT.gen.cs @@ -0,0 +1,79 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT +{ + /// + + public uint NodeIndex; + + /// + + public D3D12_VIDEO_SAMPLE InputSample; + + /// + + public D3D12_VIDEO_FIELD_TYPE InputFieldType; + + /// + + public D3D12_VIDEO_FRAME_STEREO_FORMAT InputStereoFormat; + + /// + + public DXGI_RATIONAL InputFrameRate; + + /// + + public D3D12_VIDEO_FORMAT OutputFormat; + + /// + + public D3D12_VIDEO_FRAME_STEREO_FORMAT OutputStereoFormat; + + /// + + public DXGI_RATIONAL OutputFrameRate; + + /// + + public D3D12_VIDEO_PROCESS_SUPPORT_FLAGS SupportFlags; + + /// + + public D3D12_VIDEO_SCALE_SUPPORT ScaleSupport; + + /// + + public D3D12_VIDEO_PROCESS_FEATURE_FLAGS FeatureSupport; + + /// + + public D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceSupport; + + /// + + public D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS AutoProcessingSupport; + + /// + + public D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterSupport; + + /// + + [NativeTypeName("D3D12_VIDEO_PROCESS_FILTER_RANGE[32]")] + public _FilterRangeSupport_e__FixedBuffer FilterRangeSupport; + + /// + + [InlineArray(32)] + public partial struct _FilterRangeSupport_e__FixedBuffer + { + public D3D12_VIDEO_PROCESS_FILTER_RANGE e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_VIDEO.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_VIDEO.gen.cs new file mode 100644 index 0000000000..ac24ec42bd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_VIDEO.gen.cs @@ -0,0 +1,168 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_FEATURE_VIDEO +{ + /// + + D3D12_FEATURE_VIDEO_DECODE_SUPPORT = 0, + + /// + + D3D12_FEATURE_VIDEO_DECODE_PROFILES = 1, + + /// + + D3D12_FEATURE_VIDEO_DECODE_FORMATS = 2, + + /// + + D3D12_FEATURE_VIDEO_DECODE_CONVERSION_SUPPORT = 3, + + /// + + D3D12_FEATURE_VIDEO_PROCESS_SUPPORT = 5, + + /// + + D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS = 6, + + /// + + D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO = 7, + + /// + + D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE = 8, + + /// + + D3D12_FEATURE_VIDEO_PROCESSOR_SIZE = 9, + + /// + + D3D12_FEATURE_VIDEO_DECODE_PROFILE_COUNT = 10, + + /// + + D3D12_FEATURE_VIDEO_DECODE_FORMAT_COUNT = 11, + + /// + + D3D12_FEATURE_VIDEO_ARCHITECTURE = 17, + + /// + + D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM = 18, + + /// + + D3D12_FEATURE_VIDEO_FEATURE_AREA_SUPPORT = 19, + + /// + + D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR = 20, + + /// + + D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_SIZE = 21, + + /// + + D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_COUNT = 22, + + /// + + D3D12_FEATURE_VIDEO_EXTENSION_COMMANDS = 23, + + /// + + D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT = 24, + + /// + + D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETERS = 25, + + /// + + D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SUPPORT = 26, + + /// + + D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_SIZE = 27, + + /// + + D3D12_FEATURE_VIDEO_DECODE_PROTECTED_RESOURCES = 28, + + /// + + D3D12_FEATURE_VIDEO_PROCESS_PROTECTED_RESOURCES = 29, + + /// + + D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES = 30, + + /// + + D3D12_FEATURE_VIDEO_DECODER_HEAP_SIZE1 = 31, + + /// + + D3D12_FEATURE_VIDEO_PROCESSOR_SIZE1 = 32, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_CODEC = 33, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_PROFILE_LEVEL = 34, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT = 35, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_OUTPUT_RESOLUTION = 36, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_INPUT_FORMAT = 37, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_RATE_CONTROL_MODE = 38, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE = 39, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE = 40, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_HEAP_SIZE = 41, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT = 42, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_SUPPORT = 43, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT = 44, + + /// + + D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS = 45, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS.gen.cs new file mode 100644 index 0000000000..d22b306dcb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS.gen.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS +{ + /// + + [NativeTypeName("UINT64")] + public ulong Status; + + /// + + [NativeTypeName("UINT64")] + public ulong NumMacroblocksAffected; + + /// + + public DXGI_RATIONAL FrameRate; + + /// + + public uint BitRate; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT.gen.cs new file mode 100644 index 0000000000..2184b3f3d4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT +{ + /// + + public ID3D12VideoMotionVectorHeap* pMotionVectorHeap; + + /// + + public uint PixelWidth; + + /// + + public uint PixelHeight; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT.gen.cs new file mode 100644 index 0000000000..83b20fec18 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT +{ + /// + + public ID3D12Resource* pMotionVectorTexture2D; + + /// + + public D3D12_RESOURCE_COORDINATE MotionVectorCoordinate; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOURCE_COORDINATE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOURCE_COORDINATE.gen.cs new file mode 100644 index 0000000000..00b1f21ab9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_RESOURCE_COORDINATE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_RESOURCE_COORDINATE +{ + /// + + [NativeTypeName("UINT64")] + public ulong X; + + /// + + public uint Y; + + /// + + public uint Z; + + /// + + public uint SubresourceIndex; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_DESC.gen.cs new file mode 100644 index 0000000000..3d675fa65e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_DESC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_DECODER_DESC +{ + /// + + public uint NodeMask; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION Configuration; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_HEAP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_HEAP_DESC.gen.cs new file mode 100644 index 0000000000..4a11fc5b5e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_HEAP_DESC.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_DECODER_HEAP_DESC +{ + /// + + public uint NodeMask; + + /// + + public D3D12_VIDEO_DECODE_CONFIGURATION Configuration; + + /// + + public uint DecodeWidth; + + /// + + public uint DecodeHeight; + + /// + + public DXGI_FORMAT Format; + + /// + + public DXGI_RATIONAL FrameRate; + + /// + + public uint BitRate; + + /// + + public uint MaxDecodePictureBufferCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_ARGUMENT_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_ARGUMENT_TYPE.gen.cs new file mode 100644 index 0000000000..a436e8d8da --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_ARGUMENT_TYPE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_DECODE_ARGUMENT_TYPE +{ + /// + + D3D12_VIDEO_DECODE_ARGUMENT_TYPE_PICTURE_PARAMETERS = 0, + + /// + + D3D12_VIDEO_DECODE_ARGUMENT_TYPE_INVERSE_QUANTIZATION_MATRIX = 1, + + /// + + D3D12_VIDEO_DECODE_ARGUMENT_TYPE_SLICE_CONTROL = 2, + + /// + + D3D12_VIDEO_DECODE_ARGUMENT_TYPE_MAX_VALID = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM.gen.cs new file mode 100644 index 0000000000..1de79dbe8b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM +{ + /// + + public ID3D12Resource* pBuffer; + + /// + + [NativeTypeName("UINT64")] + public ulong Offset; + + /// + + [NativeTypeName("UINT64")] + public ulong Size; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATION.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATION.gen.cs new file mode 100644 index 0000000000..b7ec9d1c3d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATION.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_DECODE_CONFIGURATION +{ + /// + + public Guid DecodeProfile; + + /// + + public D3D12_BITSTREAM_ENCRYPTION_TYPE BitstreamEncryption; + + /// + + public D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE InterlaceType; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS.gen.cs new file mode 100644 index 0000000000..553a3df547 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS +{ + /// + + D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_HEIGHT_ALIGNMENT_MULTIPLE_32_REQUIRED = 0x1, + + /// + + D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_POST_PROCESSING_SUPPORTED = 0x2, + + /// + + D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED = 0x4, + + /// + + D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_ALLOW_RESOLUTION_CHANGE_ON_NON_KEY_FRAME = 0x8, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..114ba4e77a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS +{ + /// + + public BOOL Enable; + + /// + + public ID3D12Resource* pReferenceTexture2D; + + /// + + public uint ReferenceSubresource; + + /// + + public DXGI_COLOR_SPACE_TYPE OutputColorSpace; + + /// + + public DXGI_COLOR_SPACE_TYPE DecodeColorSpace; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1.gen.cs new file mode 100644 index 0000000000..b2276dc96e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 +{ + /// + + public BOOL Enable; + + /// + + public ID3D12Resource* pReferenceTexture2D; + + /// + + public uint ReferenceSubresource; + + /// + + public DXGI_COLOR_SPACE_TYPE OutputColorSpace; + + /// + + public DXGI_COLOR_SPACE_TYPE DecodeColorSpace; + + /// + + public uint OutputWidth; + + /// + + public uint OutputHeight; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..91f7772211 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS +{ + /// + + D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAG_SUPPORTED = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_FRAME_ARGUMENT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_FRAME_ARGUMENT.gen.cs new file mode 100644 index 0000000000..1639ef660d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_FRAME_ARGUMENT.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_FRAME_ARGUMENT +{ + /// + + public D3D12_VIDEO_DECODE_ARGUMENT_TYPE Type; + + /// + + public uint Size; + + /// + + public void* pData; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT.gen.cs new file mode 100644 index 0000000000..1bb8266042 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT +{ + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y = 0, + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U = 1, + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V = 2, + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R = 0, + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G = 1, + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B = 2, + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS.gen.cs new file mode 100644 index 0000000000..7a583c762a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using static Silk.NET.DirectX.D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS +{ + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_Y = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_Y), + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_U = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_U), + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_V = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_V), + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_R = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_R), + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_G = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_G), + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_B = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_B), + + /// + + D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAG_A = (1 << D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_A), +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..12c8562f40 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS.gen.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS +{ + /// + + public uint NumFrameArguments; + + /// + + [NativeTypeName("D3D12_VIDEO_DECODE_FRAME_ARGUMENT[10]")] + public _FrameArguments_e__FixedBuffer FrameArguments; + + /// + + public D3D12_VIDEO_DECODE_REFERENCE_FRAMES ReferenceFrames; + + /// + + public D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM CompressedBitstream; + + /// + + public ID3D12VideoDecoderHeap* pHeap; + + /// + + [InlineArray(10)] + public partial struct _FrameArguments_e__FixedBuffer + { + public D3D12_VIDEO_DECODE_FRAME_ARGUMENT e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM.gen.cs new file mode 100644 index 0000000000..b97301c824 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM +{ + /// + + [NativeTypeName("UINT64")] + public ulong Offset; + + /// + + public ID3D12Resource* pBuffer; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..db0e2e94f8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS +{ + /// + + public ID3D12Resource* pOutputTexture2D; + + /// + + public uint OutputSubresource; + + /// + + public D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS ConversionArguments; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1.gen.cs new file mode 100644 index 0000000000..3a4687316b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 +{ + /// + + public ID3D12Resource* pOutputTexture2D; + + /// + + public uint OutputSubresource; + + /// + + public D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 ConversionArguments; + + /// + + [NativeTypeName("D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM[4]")] + public _Histograms_e__FixedBuffer Histograms; + + /// + + [InlineArray(4)] + public partial struct _Histograms_e__FixedBuffer + { + public D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_REFERENCE_FRAMES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_REFERENCE_FRAMES.gen.cs new file mode 100644 index 0000000000..d478c00764 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_REFERENCE_FRAMES.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_DECODE_REFERENCE_FRAMES +{ + /// + + public uint NumTexture2Ds; + + /// + + public ID3D12Resource** ppTexture2Ds; + + /// + + public uint* pSubresources; + + /// + + public ID3D12VideoDecoderHeap** ppHeaps; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_STATUS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_STATUS.gen.cs new file mode 100644 index 0000000000..9169a9b4f1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_STATUS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_DECODE_STATUS +{ + /// + + D3D12_VIDEO_DECODE_STATUS_OK = 0, + + /// + + D3D12_VIDEO_DECODE_STATUS_CONTINUE = 1, + + /// + + D3D12_VIDEO_DECODE_STATUS_CONTINUE_SKIP_DISPLAY = 2, + + /// + + D3D12_VIDEO_DECODE_STATUS_RESTART = 3, + + /// + + D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..97fc30d462 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_DECODE_SUPPORT_FLAGS +{ + /// + + D3D12_VIDEO_DECODE_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_DECODE_SUPPORT_FLAG_SUPPORTED = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_TIER.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_TIER.gen.cs new file mode 100644 index 0000000000..8fe01398e2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_TIER.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_DECODE_TIER +{ + /// + + D3D12_VIDEO_DECODE_TIER_NOT_SUPPORTED = 0, + + /// + + D3D12_VIDEO_DECODE_TIER_1 = 1, + + /// + + D3D12_VIDEO_DECODE_TIER_2 = 2, + + /// + + D3D12_VIDEO_DECODE_TIER_3 = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC.gen.cs new file mode 100644 index 0000000000..f3ecddced8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_H264 = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_HEVC = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION.gen.cs new file mode 100644 index 0000000000..151f0cb2ab --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L6854_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264* pH264Config + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pH264Config; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC* pHEVCConfig + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pHEVCConfig; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264* pH264Config; + + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC* pHEVCConfig; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264.gen.cs new file mode 100644 index 0000000000..3549cdf793 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264 +{ + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS ConfigurationFlags; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES DirectModeConfig; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES DisableDeblockingFilterConfig; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES.gen.cs new file mode 100644 index 0000000000..9ba905acba --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_DISABLED = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_TEMPORAL = 1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_DIRECT_MODES_SPATIAL = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS.gen.cs new file mode 100644 index 0000000000..85cac0ad3a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_USE_ADAPTIVE_8x8_TRANSFORM = 0x2, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ENABLE_CABAC_ENCODING = 0x4, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x8, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES.gen.cs new file mode 100644 index 0000000000..23f663aab5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = + 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES = + 1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = + 2, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING = + 3, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES = + 4, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = + 5, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = + 6, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS.gen.cs new file mode 100644 index 0000000000..57dc88ea01 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS.gen.cs @@ -0,0 +1,70 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using static Silk.NET.DirectX.D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODES; + +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED = + ( + 1 + << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_0_ALL_LUMA_CHROMA_SLICE_BLOCK_EDGES_ALWAYS_FILTERED + ), + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_1_DISABLE_ALL_SLICE_BLOCK_EDGES = + ( + 1 + << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_1_DISABLE_ALL_SLICE_BLOCK_EDGES + ), + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_2_DISABLE_SLICE_BOUNDARIES_BLOCKS = + ( + 1 + << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_2_DISABLE_SLICE_BOUNDARIES_BLOCKS + ), + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_3_USE_TWO_STAGE_DEBLOCKING = + ( + 1 + << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_3_USE_TWO_STAGE_DEBLOCKING + ), + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_4_DISABLE_CHROMA_BLOCK_EDGES = + ( + 1 + << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_4_DISABLE_CHROMA_BLOCK_EDGES + ), + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES = + ( + 1 + << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_5_DISABLE_CHROMA_BLOCK_EDGES_AND_LUMA_BOUNDARIES + ), + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAG_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING = + ( + 1 + << D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_6_DISABLE_CHROMA_BLOCK_EDGES_AND_USE_LUMA_TWO_STAGE_DEBLOCKING + ), +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC.gen.cs new file mode 100644 index 0000000000..ff6ceaa6ab --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC +{ + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS ConfigurationFlags; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; + + /// + + [NativeTypeName("UCHAR")] + public byte max_transform_hierarchy_depth_inter; + + /// + + [NativeTypeName("UCHAR")] + public byte max_transform_hierarchy_depth_intra; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE.gen.cs new file mode 100644 index 0000000000..0f7bbbe7d2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_8x8 = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_16x16 = 1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_32x32 = 2, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE_64x64 = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS.gen.cs new file mode 100644 index 0000000000..9c6eface7f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_DISABLE_LOOP_FILTER_ACROSS_SLICES = 0x1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ALLOW_REQUEST_INTRA_CONSTRAINED_SLICES = 0x2, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_SAO_FILTER = 0x4, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_LONG_TERM_REFERENCES = 0x8, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_ASYMETRIC_MOTION_PARTITION = 0x10, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_ENABLE_TRANSFORM_SKIPPING = 0x20, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_CONSTRAINED_INTRAPREDICTION = 0x40, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE.gen.cs new file mode 100644 index 0000000000..b48a202cf4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_4x4 = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_8x8 = 1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_16x16 = 2, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE_32x32 = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT.gen.cs new file mode 100644 index 0000000000..93fc2e9406 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L6727_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264* pH264Support + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pH264Support; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC* pHEVCSupport + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pHEVCSupport; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264* pH264Support; + + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC* pHEVCSupport; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264.gen.cs new file mode 100644 index 0000000000..9d4641587d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 +{ + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS SupportFlags; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264_SLICES_DEBLOCKING_MODE_FLAGS DisableDeblockingFilterSupportedModes; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS.gen.cs new file mode 100644 index 0000000000..b4aab401bd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS.gen.cs @@ -0,0 +1,45 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CABAC_ENCODING_SUPPORT = 0x1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = + 0x2, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x4, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_ADAPTIVE_8x8_TRANSFORM_ENCODING_SUPPORT = + 0x8, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_SPATIAL_ENCODING_SUPPORT = + 0x10, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_DIRECT_TEMPORAL_ENCODING_SUPPORT = + 0x20, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = + 0x40, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC.gen.cs new file mode 100644 index 0000000000..d1b664b85b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC +{ + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; + + /// + + [NativeTypeName("UCHAR")] + public byte max_transform_hierarchy_depth_inter; + + /// + + [NativeTypeName("UCHAR")] + public byte max_transform_hierarchy_depth_intra; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS.gen.cs new file mode 100644 index 0000000000..4acb02d42a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS.gen.cs @@ -0,0 +1,54 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_BFRAME_LTR_COMBINED_SUPPORT = 0x1, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_INTRA_SLICE_CONSTRAINED_ENCODING_SUPPORT = + 0x2, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_CONSTRAINED_INTRAPREDICTION_SUPPORT = + 0x4, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_SAO_FILTER_SUPPORT = 0x8, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_SUPPORT = + 0x10, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_ASYMETRIC_MOTION_PARTITION_REQUIRED = + 0x20, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_TRANSFORM_SKIP_SUPPORT = 0x40, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_DISABLING_LOOP_FILTER_ACROSS_SLICES_SUPPORT = + 0x80, + + /// + + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAG_P_FRAMES_IMPLEMENTED_AS_LOW_DELAY_B_FRAMES = + 0x100, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.gen.cs new file mode 100644 index 0000000000..04886c0f36 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L6764_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264* pH264Support + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pH264Support; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC* pHEVCSupport + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pHEVCSupport; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264* pH264Support; + + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC* pHEVCSupport; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264.gen.cs new file mode 100644 index 0000000000..d1b4ffad84 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264 +{ + /// + + public uint MaxL0ReferencesForP; + + /// + + public uint MaxL0ReferencesForB; + + /// + + public uint MaxL1ReferencesForB; + + /// + + public uint MaxLongTermReferences; + + /// + + public uint MaxDPBCapacity; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC.gen.cs new file mode 100644 index 0000000000..04eca9caa5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC +{ + /// + + public uint MaxL0ReferencesForP; + + /// + + public uint MaxL0ReferencesForB; + + /// + + public uint MaxL1ReferencesForB; + + /// + + public uint MaxLongTermReferences; + + /// + + public uint MaxDPBCapacity; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM.gen.cs new file mode 100644 index 0000000000..529bcc50cd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM +{ + /// + + public ID3D12Resource* pBuffer; + + /// + + [NativeTypeName("UINT64")] + public ulong FrameStartOffset; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_DESC.gen.cs new file mode 100644 index 0000000000..745cea4a03 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_DESC.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_DESC +{ + /// + + public uint NodeMask; + + /// + + public D3D12_VIDEO_ENCODER_FLAGS Flags; + + /// + + public D3D12_VIDEO_ENCODER_CODEC EncodeCodec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; + + /// + + public DXGI_FORMAT InputFormat; + + /// + + public D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION CodecConfiguration; + + /// + + public D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE MaxMotionEstimationPrecision; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..f69e86b615 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS +{ + /// + + public D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC SequenceControlDesc; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC PictureControlDesc; + + /// + + public ID3D12Resource* pInputFrame; + + /// + + public uint InputFrameSubresource; + + /// + + public uint CurrentFrameBitstreamMetadataSize; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..05160fbcfa --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS +{ + /// + + public D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM Bitstream; + + /// + + public D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE ReconstructedPicture; + + /// + + public D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER EncoderOutputMetadata; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS.gen.cs new file mode 100644 index 0000000000..e76836956a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_NO_ERROR = 0, + + /// + + D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_CODEC_PICTURE_CONTROL_NOT_SUPPORTED = 0x1, + + /// + + D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_SUBREGION_LAYOUT_CONFIGURATION_NOT_SUPPORTED = 0x2, + + /// + + D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_REFERENCE_PICTURES = 0x4, + + /// + + D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_RECONFIGURATION_REQUEST_NOT_SUPPORTED = 0x8, + + /// + + D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAG_INVALID_METADATA_BUFFER_SOURCE = 0x10, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER.gen.cs new file mode 100644 index 0000000000..1db4bdb984 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER +{ + /// + + public ID3D12Resource* pBuffer; + + /// + + [NativeTypeName("UINT64")] + public ulong Offset; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FLAGS.gen.cs new file mode 100644 index 0000000000..867e53548e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FLAGS.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_FLAG_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE.gen.cs new file mode 100644 index 0000000000..f5555cf3d5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE +{ + /// + + D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME = 0, + + /// + + D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_BYTES_PER_SUBREGION = 1, + + /// + + D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_SQUARE_UNITS_PER_SUBREGION_ROW_UNALIGNED = 2, + + /// + + D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_ROWS_PER_SUBREGION = 3, + + /// + + D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA.gen.cs new file mode 100644 index 0000000000..039ad62c58 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA +{ + /// + + [NativeTypeName("UINT64")] + public ulong bSize; + + /// + + [NativeTypeName("UINT64")] + public ulong bStartOffset; + + /// + + [NativeTypeName("UINT64")] + public ulong bHeaderSize; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_TYPE_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_TYPE_H264.gen.cs new file mode 100644 index 0000000000..600e756692 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_TYPE_H264.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 +{ + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_I_FRAME = 0, + + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_P_FRAME = 1, + + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_B_FRAME = 2, + + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_H264_IDR_FRAME = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC.gen.cs new file mode 100644 index 0000000000..7ef6192f30 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC +{ + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_I_FRAME = 0, + + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_P_FRAME = 1, + + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_B_FRAME = 2, + + /// + + D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_IDR_FRAME = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_DESC.gen.cs new file mode 100644 index 0000000000..cf68b5a753 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_DESC.gen.cs @@ -0,0 +1,37 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_HEAP_DESC +{ + /// + + public uint NodeMask; + + /// + + public D3D12_VIDEO_ENCODER_HEAP_FLAGS Flags; + + /// + + public D3D12_VIDEO_ENCODER_CODEC EncodeCodec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC EncodeProfile; + + /// + + public D3D12_VIDEO_ENCODER_LEVEL_SETTING EncodeLevel; + + /// + + public uint ResolutionsListCount; + + /// + + [NativeTypeName("const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *")] + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_FLAGS.gen.cs new file mode 100644 index 0000000000..be366b798e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_FLAGS.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_HEAP_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_HEAP_FLAG_NONE = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESH.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESH.gen.cs new file mode 100644 index 0000000000..6f6d8292fa --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESH.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_INTRA_REFRESH +{ + /// + + public D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE Mode; + + /// + + public uint IntraRefreshDuration; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE.gen.cs new file mode 100644 index 0000000000..a4f12ba9d4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE +{ + /// + + D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE_ROW_BASED = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVELS_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVELS_H264.gen.cs new file mode 100644 index 0000000000..ea43afe71d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVELS_H264.gen.cs @@ -0,0 +1,88 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_LEVELS_H264 +{ + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_1 = 0, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_1b = 1, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_11 = 2, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_12 = 3, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_13 = 4, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_2 = 5, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_21 = 6, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_22 = 7, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_3 = 8, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_31 = 9, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_32 = 10, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_4 = 11, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_41 = 12, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_42 = 13, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_5 = 14, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_51 = 15, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_52 = 16, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_6 = 17, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_61 = 18, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_H264_62 = 19, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVELS_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVELS_HEVC.gen.cs new file mode 100644 index 0000000000..9bdb2b45e0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVELS_HEVC.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_LEVELS_HEVC +{ + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_1 = 0, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_2 = 1, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_21 = 2, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_3 = 3, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_31 = 4, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_4 = 5, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_41 = 6, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_5 = 7, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_51 = 8, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_52 = 9, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_6 = 10, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_61 = 11, + + /// + + D3D12_VIDEO_ENCODER_LEVELS_HEVC_62 = 12, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_SETTING.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_SETTING.gen.cs new file mode 100644 index 0000000000..12f03584bb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_SETTING.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_LEVEL_SETTING +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L6504_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_LEVELS_H264* pH264LevelSetting + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pH264LevelSetting; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC* pHEVCLevelSetting + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pHEVCLevelSetting; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_LEVELS_H264* pH264LevelSetting; + + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC* pHEVCLevelSetting; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC.gen.cs new file mode 100644 index 0000000000..9df5d948d2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC +{ + /// + + public D3D12_VIDEO_ENCODER_LEVELS_HEVC Level; + + /// + + public D3D12_VIDEO_ENCODER_TIER_HEVC Tier; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE.gen.cs new file mode 100644 index 0000000000..382138d1ff --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE +{ + /// + + D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_MAXIMUM = 0, + + /// + + D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_FULL_PIXEL = 1, + + /// + + D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_HALF_PIXEL = 2, + + /// + + D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_QUARTER_PIXEL = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA.gen.cs new file mode 100644 index 0000000000..b372ea64d2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA +{ + /// + + [NativeTypeName("UINT64")] + public ulong EncodeErrorFlags; + + /// + + public D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS EncodeStats; + + /// + + [NativeTypeName("UINT64")] + public ulong EncodedBitstreamWrittenBytesCount; + + /// + + [NativeTypeName("UINT64")] + public ulong WrittenSubregionsCount; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS.gen.cs new file mode 100644 index 0000000000..cccc42111d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS +{ + /// + + [NativeTypeName("UINT64")] + public ulong AverageQP; + + /// + + [NativeTypeName("UINT64")] + public ulong IntraCodingUnitsCount; + + /// + + [NativeTypeName("UINT64")] + public ulong InterCodingUnitsCount; + + /// + + [NativeTypeName("UINT64")] + public ulong SkipCodingUnitsCount; + + /// + + [NativeTypeName("UINT64")] + public ulong AverageMotionEstimationXDirection; + + /// + + [NativeTypeName("UINT64")] + public ulong AverageMotionEstimationYDirection; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA.gen.cs new file mode 100644 index 0000000000..44ff04bd99 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L7715_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264* pH264PicData + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pH264PicData; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC* pHEVCPicData + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pHEVCPicData; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264* pH264PicData; + + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC* pHEVCPicData; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264.gen.cs new file mode 100644 index 0000000000..e6702400cd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264.gen.cs @@ -0,0 +1,98 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 +{ + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS Flags; + + /// + + public D3D12_VIDEO_ENCODER_FRAME_TYPE_H264 FrameType; + + /// + + public uint pic_parameter_set_id; + + /// + + public uint idr_pic_id; + + /// + + public uint PictureOrderCountNumber; + + /// + + public uint FrameDecodingOrderNumber; + + /// + + public uint TemporalLayerIndex; + + /// + + public uint List0ReferenceFramesCount; + + /// + + public uint* pList0ReferenceFrames; + + /// + + public uint List1ReferenceFramesCount; + + /// + + public uint* pList1ReferenceFrames; + + /// + + public uint ReferenceFramesReconPictureDescriptorsCount; + + /// + + public D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264* pReferenceFramesReconPictureDescriptors; + + /// + + [NativeTypeName("UCHAR")] + public byte adaptive_ref_pic_marking_mode_flag; + + /// + + public uint RefPicMarkingOperationsCommandsCount; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION* pRefPicMarkingOperationsCommands; + + /// + + public uint List0RefPicModificationsCount; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION* pList0RefPicModifications; + + /// + + public uint List1RefPicModificationsCount; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION* pList1RefPicModifications; + + /// + + public uint QPMapValuesCount; + + /// + + [NativeTypeName("INT8 *")] + public sbyte* pRateControlQPMap; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS.gen.cs new file mode 100644 index 0000000000..77c6e94c3b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION.gen.cs new file mode 100644 index 0000000000..2bc7589898 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION +{ + /// + + [NativeTypeName("UCHAR")] + public byte modification_of_pic_nums_idc; + + /// + + public uint abs_diff_pic_num_minus1; + + /// + + public uint long_term_pic_num; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION.gen.cs new file mode 100644 index 0000000000..f83f1aeddf --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION.gen.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION +{ + /// + + [NativeTypeName("UCHAR")] + public byte memory_management_control_operation; + + /// + + public uint difference_of_pic_nums_minus1; + + /// + + public uint long_term_pic_num; + + /// + + public uint long_term_frame_idx; + + /// + + public uint max_long_term_frame_idx_plus1; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC.gen.cs new file mode 100644 index 0000000000..ebc8f1e518 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC.gen.cs @@ -0,0 +1,77 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC +{ + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS Flags; + + /// + + public D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC FrameType; + + /// + + public uint slice_pic_parameter_set_id; + + /// + + public uint PictureOrderCountNumber; + + /// + + public uint TemporalLayerIndex; + + /// + + public uint List0ReferenceFramesCount; + + /// + + public uint* pList0ReferenceFrames; + + /// + + public uint List1ReferenceFramesCount; + + /// + + public uint* pList1ReferenceFrames; + + /// + + public uint ReferenceFramesReconPictureDescriptorsCount; + + /// + + public D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC* pReferenceFramesReconPictureDescriptors; + + /// + + public uint List0RefPicModificationsCount; + + /// + + public uint* pList0RefPicModifications; + + /// + + public uint List1RefPicModificationsCount; + + /// + + public uint* pList1RefPicModifications; + + /// + + public uint QPMapValuesCount; + + /// + + [NativeTypeName("INT8 *")] + public sbyte* pRateControlQPMap; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS.gen.cs new file mode 100644 index 0000000000..b90ec7c473 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC_FLAG_REQUEST_INTRA_CONSTRAINED_SLICES = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC.gen.cs new file mode 100644 index 0000000000..33257eb196 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC +{ + /// + + public uint IntraRefreshFrameIndex; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS Flags; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA PictureControlCodecData; + + /// + + public D3D12_VIDEO_ENCODE_REFERENCE_FRAMES ReferenceFrames; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS.gen.cs new file mode 100644 index 0000000000..dc65e0e815 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA.gen.cs new file mode 100644 index 0000000000..71acc92f78 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA.gen.cs @@ -0,0 +1,61 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L7771_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_H264 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pSlicesPartition_H264; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_HEVC + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pSlicesPartition_HEVC; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName( + "const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *" + )] + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_H264; + + /// + + [FieldOffset(0)] + [NativeTypeName( + "const D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES *" + )] + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES* pSlicesPartition_HEVC; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES.gen.cs new file mode 100644 index 0000000000..a0afadb026 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES.gen.cs @@ -0,0 +1,79 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES +{ + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L7759_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref uint MaxBytesPerSlice + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.MaxBytesPerSlice; } + } + + /// + + [UnscopedRef] + public ref uint NumberOfCodingUnitsPerSlice + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.NumberOfCodingUnitsPerSlice; } + } + + /// + + [UnscopedRef] + public ref uint NumberOfRowsPerSlice + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.NumberOfRowsPerSlice; } + } + + /// + + [UnscopedRef] + public ref uint NumberOfSlicesPerFrame + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.NumberOfSlicesPerFrame; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public uint MaxBytesPerSlice; + + /// + + [FieldOffset(0)] + public uint NumberOfCodingUnitsPerSlice; + + /// + + [FieldOffset(0)] + public uint NumberOfRowsPerSlice; + + /// + + [FieldOffset(0)] + public uint NumberOfSlicesPerFrame; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC.gen.cs new file mode 100644 index 0000000000..24246d4bd2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC +{ + /// + + public uint Width; + + /// + + public uint Height; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC.gen.cs new file mode 100644 index 0000000000..4ff9e1cf48 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC +{ + /// + + public uint WidthRatio; + + /// + + public uint HeightRatio; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_DESC.gen.cs new file mode 100644 index 0000000000..9acba14232 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_DESC.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_PROFILE_DESC +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L6438_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_PROFILE_H264* pH264Profile + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pH264Profile; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_PROFILE_HEVC* pHEVCProfile + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pHEVCProfile; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_PROFILE_H264* pH264Profile; + + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_PROFILE_HEVC* pHEVCProfile; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_H264.gen.cs new file mode 100644 index 0000000000..6d361ddbc3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_H264.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_PROFILE_H264 +{ + /// + + D3D12_VIDEO_ENCODER_PROFILE_H264_MAIN = 0, + + /// + + D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH = 1, + + /// + + D3D12_VIDEO_ENCODER_PROFILE_H264_HIGH_10 = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_HEVC.gen.cs new file mode 100644 index 0000000000..8b284cb18b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_HEVC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_PROFILE_HEVC +{ + /// + + D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN = 0, + + /// + + D3D12_VIDEO_ENCODER_PROFILE_HEVC_MAIN10 = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL.gen.cs new file mode 100644 index 0000000000..72d45104a9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_RATE_CONTROL +{ + /// + + public D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE Mode; + + /// + + public D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS Flags; + + /// + + public D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS ConfigParams; + + /// + + public DXGI_RATIONAL TargetFrameRate; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR.gen.cs new file mode 100644 index 0000000000..5a1e4de132 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR +{ + /// + + public uint InitialQP; + + /// + + public uint MinQP; + + /// + + public uint MaxQP; + + /// + + [NativeTypeName("UINT64")] + public ulong MaxFrameBitSize; + + /// + + [NativeTypeName("UINT64")] + public ulong TargetBitRate; + + /// + + [NativeTypeName("UINT64")] + public ulong VBVCapacity; + + /// + + [NativeTypeName("UINT64")] + public ulong InitialVBVFullness; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS.gen.cs new file mode 100644 index 0000000000..b0286826f1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS.gen.cs @@ -0,0 +1,87 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L6389_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP* pConfiguration_CQP + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pConfiguration_CQP; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR* pConfiguration_CBR + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pConfiguration_CBR; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR* pConfiguration_VBR + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pConfiguration_VBR; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR* pConfiguration_QVBR + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pConfiguration_QVBR; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP *")] + public D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP* pConfiguration_CQP; + + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR *")] + public D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR* pConfiguration_CBR; + + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR *")] + public D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR* pConfiguration_VBR; + + /// + + [FieldOffset(0)] + [NativeTypeName("const D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR *")] + public D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR* pConfiguration_QVBR; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP.gen.cs new file mode 100644 index 0000000000..4a78379e27 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP +{ + /// + + public uint ConstantQP_FullIntracodedFrame; + + /// + + public uint ConstantQP_InterPredictedFrame_PrevRefOnly; + + /// + + public uint ConstantQP_InterPredictedFrame_BiDirectionalRef; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS.gen.cs new file mode 100644 index 0000000000..396e6e47e2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_DELTA_QP = 0x1, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_FRAME_ANALYSIS = 0x2, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_QP_RANGE = 0x4, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_INITIAL_QP = 0x8, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_MAX_FRAME_SIZE = 0x10, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_FLAG_ENABLE_VBV_SIZES = 0x20, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE.gen.cs new file mode 100644 index 0000000000..1ec370e1c0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE +{ + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_ABSOLUTE_QP_MAP = 0, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CQP = 1, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_CBR = 2, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_VBR = 3, + + /// + + D3D12_VIDEO_ENCODER_RATE_CONTROL_MODE_QVBR = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR.gen.cs new file mode 100644 index 0000000000..fcc82d034a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR.gen.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR +{ + /// + + public uint InitialQP; + + /// + + public uint MinQP; + + /// + + public uint MaxQP; + + /// + + [NativeTypeName("UINT64")] + public ulong MaxFrameBitSize; + + /// + + [NativeTypeName("UINT64")] + public ulong TargetAvgBitRate; + + /// + + [NativeTypeName("UINT64")] + public ulong PeakBitRate; + + /// + + public uint ConstantQualityTarget; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR.gen.cs new file mode 100644 index 0000000000..33d6a813ef --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR.gen.cs @@ -0,0 +1,45 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR +{ + /// + + public uint InitialQP; + + /// + + public uint MinQP; + + /// + + public uint MaxQP; + + /// + + [NativeTypeName("UINT64")] + public ulong MaxFrameBitSize; + + /// + + [NativeTypeName("UINT64")] + public ulong TargetAvgBitRate; + + /// + + [NativeTypeName("UINT64")] + public ulong PeakBitRate; + + /// + + [NativeTypeName("UINT64")] + public ulong VBVCapacity; + + /// + + [NativeTypeName("UINT64")] + public ulong InitialVBVFullness; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE.gen.cs new file mode 100644 index 0000000000..d57af2316f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE +{ + /// + + public ID3D12Resource* pReconstructedPicture; + + /// + + public uint ReconstructedPictureSubresource; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264.gen.cs new file mode 100644 index 0000000000..e39934f40e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264 +{ + /// + + public uint ReconstructedPictureResourceIndex; + + /// + + public BOOL IsLongTermReference; + + /// + + public uint LongTermPictureIdx; + + /// + + public uint PictureOrderCountNumber; + + /// + + public uint FrameDecodingOrderNumber; + + /// + + public uint TemporalLayerIndex; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC.gen.cs new file mode 100644 index 0000000000..cec3f50f6c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC.gen.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC +{ + /// + + public uint ReconstructedPictureResourceIndex; + + /// + + public BOOL IsRefUsedByCurrentPic; + + /// + + public BOOL IsLongTermReference; + + /// + + public uint PictureOrderCountNumber; + + /// + + public uint TemporalLayerIndex; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..17c5f26bff --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS +{ + /// + + public D3D12_VIDEO_ENCODER_CODEC EncoderCodec; + + /// + + public D3D12_VIDEO_ENCODER_PROFILE_DESC EncoderProfile; + + /// + + public DXGI_FORMAT EncoderInputFormat; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC EncodedPictureEffectiveResolution; + + /// + + public D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER HWLayoutMetadata; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..55ec167004 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS.gen.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS +{ + /// + + public D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC.gen.cs new file mode 100644 index 0000000000..04f830d846 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC +{ + /// + + public D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS Flags; + + /// + + public D3D12_VIDEO_ENCODER_INTRA_REFRESH IntraRefreshConfig; + + /// + + public D3D12_VIDEO_ENCODER_RATE_CONTROL RateControl; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC PictureTargetResolution; + + /// + + public D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE SelectedLayoutMode; + + /// + + public D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA FrameSubregionsLayoutData; + + /// + + public D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE CodecGopSequence; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS.gen.cs new file mode 100644 index 0000000000..20e037e9ce --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RESOLUTION_CHANGE = 0x1, + + /// + + D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_RATE_CONTROL_CHANGE = 0x2, + + /// + + D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_SUBREGION_LAYOUT_CHANGE = 0x4, + + /// + + D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_REQUEST_INTRA_REFRESH = 0x8, + + /// + + D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_FLAG_GOP_SEQUENCE_CHANGE = 0x10, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE.gen.cs new file mode 100644 index 0000000000..2e5309b116 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE +{ + /// + + public uint DataSize; + + /// + + [NativeTypeName("__AnonymousRecord_d3d12video_L6919_C5")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264* pH264GroupOfPictures + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pH264GroupOfPictures; } + } + + /// + + [UnscopedRef] + public ref D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC* pHEVCGroupOfPictures + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pHEVCGroupOfPictures; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264* pH264GroupOfPictures; + + /// + + [FieldOffset(0)] + public D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC* pHEVCGroupOfPictures; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264.gen.cs new file mode 100644 index 0000000000..4de949248b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264 +{ + /// + + public uint GOPLength; + + /// + + public uint PPicturePeriod; + + /// + + [NativeTypeName("UCHAR")] + public byte pic_order_cnt_type; + + /// + + [NativeTypeName("UCHAR")] + public byte log2_max_frame_num_minus4; + + /// + + [NativeTypeName("UCHAR")] + public byte log2_max_pic_order_cnt_lsb_minus4; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC.gen.cs new file mode 100644 index 0000000000..a3cde461f2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC +{ + /// + + public uint GOPLength; + + /// + + public uint PPicturePeriod; + + /// + + [NativeTypeName("UCHAR")] + public byte log2_max_pic_order_cnt_lsb_minus4; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..6cb3b71ebc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,64 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_SUPPORT_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK = 0x1, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_RECONFIGURATION_AVAILABLE = 0x2, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RESOLUTION_RECONFIGURATION_AVAILABLE = 0x4, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_VBV_SIZE_CONFIG_AVAILABLE = 0x8, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_FRAME_ANALYSIS_AVAILABLE = 0x10, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RECONSTRUCTED_FRAMES_REQUIRE_TEXTURE_ARRAYS = 0x20, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_DELTA_QP_AVAILABLE = 0x40, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SUBREGION_LAYOUT_RECONFIGURATION_AVAILABLE = 0x80, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_ADJUSTABLE_QP_RANGE_AVAILABLE = 0x100, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_INITIAL_QP_AVAILABLE = 0x200, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_RATE_CONTROL_MAX_FRAME_SIZE_AVAILABLE = 0x400, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_SEQUENCE_GOP_RECONFIGURATION_AVAILABLE = 0x800, + + /// + + D3D12_VIDEO_ENCODER_SUPPORT_FLAG_MOTION_ESTIMATION_PRECISION_MODE_LIMIT_AVAILABLE = 0x1000, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_TIER_HEVC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_TIER_HEVC.gen.cs new file mode 100644 index 0000000000..43f3e07d02 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_TIER_HEVC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_TIER_HEVC +{ + /// + + D3D12_VIDEO_ENCODER_TIER_HEVC_MAIN = 0, + + /// + + D3D12_VIDEO_ENCODER_TIER_HEVC_HIGH = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_VALIDATION_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_VALIDATION_FLAGS.gen.cs new file mode 100644 index 0000000000..3f44cba161 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_VALIDATION_FLAGS.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_ENCODER_VALIDATION_FLAGS +{ + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_NOT_SUPPORTED = 0x1, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INPUT_FORMAT_NOT_SUPPORTED = 0x8, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_CODEC_CONFIGURATION_NOT_SUPPORTED = 0x10, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_MODE_NOT_SUPPORTED = 0x20, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RATE_CONTROL_CONFIGURATION_NOT_SUPPORTED = 0x40, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_INTRA_REFRESH_MODE_NOT_SUPPORTED = 0x80, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_SUBREGION_LAYOUT_MODE_NOT_SUPPORTED = 0x100, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_RESOLUTION_NOT_SUPPORTED_IN_LIST = 0x200, + + /// + + D3D12_VIDEO_ENCODER_VALIDATION_FLAG_GOP_STRUCTURE_NOT_SUPPORTED = 0x800, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODE_REFERENCE_FRAMES.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODE_REFERENCE_FRAMES.gen.cs new file mode 100644 index 0000000000..60a9ffa3d5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODE_REFERENCE_FRAMES.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_ENCODE_REFERENCE_FRAMES +{ + /// + + public uint NumTexture2Ds; + + /// + + public ID3D12Resource** ppTexture2Ds; + + /// + + public uint* pSubresources; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_DESC.gen.cs new file mode 100644 index 0000000000..d7db9cf95c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_DESC.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_VIDEO_EXTENSION_COMMAND_DESC +{ + /// + + public uint NodeMask; + + /// + + public Guid CommandId; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_INFO.gen.cs new file mode 100644 index 0000000000..4609688bc0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_INFO.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_VIDEO_EXTENSION_COMMAND_INFO +{ + /// + + public Guid CommandId; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* Name; + + /// + + public D3D12_COMMAND_LIST_SUPPORT_FLAGS CommandListSupportFlags; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS.gen.cs new file mode 100644 index 0000000000..6d45568e2d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[Flags] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS +{ + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_READ = 0x1, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAG_WRITE = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO.gen.cs new file mode 100644 index 0000000000..a76841d670 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO +{ + /// + + [NativeTypeName("LPCWSTR")] + public ushort* Name; + + /// + + public D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE Type; + + /// + + public D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE.gen.cs new file mode 100644 index 0000000000..7c09b3278d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE.gen.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE +{ + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CREATION = 0, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_EXECUTION = 2, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_INPUT = 3, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_OUTPUT = 4, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_INPUT = 5, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_DEVICE_EXECUTE_OUTPUT = 6, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE.gen.cs new file mode 100644 index 0000000000..add1ab7223 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE +{ + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT8 = 0, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT16 = 1, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT32 = 2, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_UINT64 = 3, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT8 = 4, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT16 = 5, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT32 = 6, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_SINT64 = 7, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_FLOAT = 8, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_DOUBLE = 9, + + /// + + D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE_RESOURCE = 10, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FIELD_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FIELD_TYPE.gen.cs new file mode 100644 index 0000000000..fa3585c8e4 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FIELD_TYPE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_FIELD_TYPE +{ + /// + + D3D12_VIDEO_FIELD_TYPE_NONE = 0, + + /// + + D3D12_VIDEO_FIELD_TYPE_INTERLACED_TOP_FIELD_FIRST = 1, + + /// + + D3D12_VIDEO_FIELD_TYPE_INTERLACED_BOTTOM_FIELD_FIRST = 2, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FORMAT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FORMAT.gen.cs new file mode 100644 index 0000000000..9a51616c7b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FORMAT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_FORMAT +{ + /// + + public DXGI_FORMAT Format; + + /// + + public DXGI_COLOR_SPACE_TYPE ColorSpace; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE.gen.cs new file mode 100644 index 0000000000..730d1f7c49 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE +{ + /// + + D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_NONE = 0, + + /// + + D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE_FIELD_BASED = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FRAME_STEREO_FORMAT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FRAME_STEREO_FORMAT.gen.cs new file mode 100644 index 0000000000..47be34fecd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FRAME_STEREO_FORMAT.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_FRAME_STEREO_FORMAT +{ + /// + + D3D12_VIDEO_FRAME_STEREO_FORMAT_NONE = 0, + + /// + + D3D12_VIDEO_FRAME_STEREO_FORMAT_MONO = 1, + + /// + + D3D12_VIDEO_FRAME_STEREO_FORMAT_HORIZONTAL = 2, + + /// + + D3D12_VIDEO_FRAME_STEREO_FORMAT_VERTICAL = 3, + + /// + + D3D12_VIDEO_FRAME_STEREO_FORMAT_SEPARATE = 4, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_DESC.gen.cs new file mode 100644 index 0000000000..4d5a5769ce --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_DESC.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_VIDEO_MOTION_ESTIMATOR_DESC +{ + /// + + public uint NodeMask; + + /// + + public DXGI_FORMAT InputFormat; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; + + /// + + public D3D12_VIDEO_SIZE_RANGE SizeRange; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_INPUT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_INPUT.gen.cs new file mode 100644 index 0000000000..f1992b573c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_INPUT.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_VIDEO_MOTION_ESTIMATOR_INPUT +{ + /// + + public ID3D12Resource* pInputTexture2D; + + /// + + public uint InputSubresourceIndex; + + /// + + public ID3D12Resource* pReferenceTexture2D; + + /// + + public uint ReferenceSubresourceIndex; + + /// + + public ID3D12VideoMotionVectorHeap* pHintMotionVectorHeap; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT.gen.cs new file mode 100644 index 0000000000..950cfd9ca5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT +{ + /// + + public ID3D12VideoMotionVectorHeap* pMotionVectorHeap; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE.gen.cs new file mode 100644 index 0000000000..b325d162c2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE +{ + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8 = 0, + + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16 = 1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS.gen.cs new file mode 100644 index 0000000000..3ed1cd221f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; +using static Silk.NET.DirectX.D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE; + +namespace Silk.NET.DirectX; + +/// +[Flags] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS +{ + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_8X8 = + (1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_8X8), + + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAG_16X16 = + (1 << D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_16X16), +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION.gen.cs new file mode 100644 index 0000000000..6e3b4c79fd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION.gen.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION +{ + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL = 0, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS.gen.cs new file mode 100644 index 0000000000..f101ba9ad5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; +using static Silk.NET.DirectX.D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION; + +namespace Silk.NET.DirectX; + +/// +[Flags] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS +{ + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAG_QUARTER_PEL = + (1 << D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_QUARTER_PEL), +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC.gen.cs new file mode 100644 index 0000000000..c381b6db74 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC +{ + /// + + public uint NodeMask; + + /// + + public DXGI_FORMAT InputFormat; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE BlockSize; + + /// + + public D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION Precision; + + /// + + public D3D12_VIDEO_SIZE_RANGE SizeRange; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_BLENDING.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_BLENDING.gen.cs new file mode 100644 index 0000000000..84885ed01a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_BLENDING.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_ALPHA_BLENDING +{ + /// + + public BOOL Enable; + + /// + + public float Alpha; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE.gen.cs new file mode 100644 index 0000000000..d9a81118a5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE +{ + /// + + D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_OPAQUE = 0, + + /// + + D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_BACKGROUND = 1, + + /// + + D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_DESTINATION = 2, + + /// + + D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_SOURCE_STREAM = 3, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS.gen.cs new file mode 100644 index 0000000000..f179a46e01 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS +{ + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DENOISE = 0x1, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_DERINGING = 0x2, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_EDGE_ENHANCEMENT = 0x4, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_COLOR_CORRECTION = 0x8, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_FLESH_TONE_MAPPING = 0x10, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_IMAGE_STABILIZATION = 0x20, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_SUPER_RESOLUTION = 0x40, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_ANAMORPHIC_SCALING = 0x80, + + /// + + D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAG_CUSTOM = unchecked((int)(0x80000000)), +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS.gen.cs new file mode 100644 index 0000000000..3466a21292 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS +{ + /// + + D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_BOB = 0x1, + + /// + + D3D12_VIDEO_PROCESS_DEINTERLACE_FLAG_CUSTOM = unchecked((int)(0x80000000)), +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FEATURE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FEATURE_FLAGS.gen.cs new file mode 100644 index 0000000000..4446628ca0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FEATURE_FLAGS.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_PROCESS_FEATURE_FLAGS +{ + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_FILL = 0x1, + + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_LUMA_KEY = 0x2, + + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_STEREO = 0x4, + + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_ROTATION = 0x8, + + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_FLIP = 0x10, + + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_BLENDING = 0x20, + + /// + + D3D12_VIDEO_PROCESS_FEATURE_FLAG_PIXEL_ASPECT_RATIO = 0x40, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER.gen.cs new file mode 100644 index 0000000000..035bdd3eb0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_PROCESS_FILTER +{ + /// + + D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS = 0, + + /// + + D3D12_VIDEO_PROCESS_FILTER_CONTRAST = 1, + + /// + + D3D12_VIDEO_PROCESS_FILTER_HUE = 2, + + /// + + D3D12_VIDEO_PROCESS_FILTER_SATURATION = 3, + + /// + + D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION = 4, + + /// + + D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT = 5, + + /// + + D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING = 6, + + /// + + D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT = 7, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_FLAGS.gen.cs new file mode 100644 index 0000000000..f2cd26d6c2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_FLAGS.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using static Silk.NET.DirectX.D3D12_VIDEO_PROCESS_FILTER; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_PROCESS_FILTER_FLAGS +{ + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_BRIGHTNESS = (1 << D3D12_VIDEO_PROCESS_FILTER_BRIGHTNESS), + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_CONTRAST = (1 << D3D12_VIDEO_PROCESS_FILTER_CONTRAST), + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_HUE = (1 << D3D12_VIDEO_PROCESS_FILTER_HUE), + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_SATURATION = (1 << D3D12_VIDEO_PROCESS_FILTER_SATURATION), + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_NOISE_REDUCTION = + (1 << D3D12_VIDEO_PROCESS_FILTER_NOISE_REDUCTION), + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_EDGE_ENHANCEMENT = + (1 << D3D12_VIDEO_PROCESS_FILTER_EDGE_ENHANCEMENT), + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_ANAMORPHIC_SCALING = + (1 << D3D12_VIDEO_PROCESS_FILTER_ANAMORPHIC_SCALING), + + /// + + D3D12_VIDEO_PROCESS_FILTER_FLAG_STEREO_ADJUSTMENT = + (1 << D3D12_VIDEO_PROCESS_FILTER_STEREO_ADJUSTMENT), +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_RANGE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_RANGE.gen.cs new file mode 100644 index 0000000000..f75f95c3e5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_RANGE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_FILTER_RANGE +{ + /// + + public int Minimum; + + /// + + public int Maximum; + + /// + + public int Default; + + /// + + public float Multiplier; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM.gen.cs new file mode 100644 index 0000000000..ec3c02f0d2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_PROCESS_INPUT_STREAM +{ + /// + + public ID3D12Resource* pTexture2D; + + /// + + public uint Subresource; + + /// + + public D3D12_VIDEO_PROCESS_REFERENCE_SET ReferenceSet; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..ad974d4d08 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS +{ + /// + + [NativeTypeName("D3D12_VIDEO_PROCESS_INPUT_STREAM[2]")] + public _InputStream_e__FixedBuffer InputStream; + + /// + + public D3D12_VIDEO_PROCESS_TRANSFORM Transform; + + /// + + public D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags; + + /// + + public D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo; + + /// + + [NativeTypeName("INT[32]")] + public _FilterLevels_e__FixedBuffer FilterLevels; + + /// + + public D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending; + + /// + + [InlineArray(2)] + public partial struct _InputStream_e__FixedBuffer + { + public D3D12_VIDEO_PROCESS_INPUT_STREAM e0; + } + + /// + + [InlineArray(32)] + public partial struct _FilterLevels_e__FixedBuffer + { + public int e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1.gen.cs new file mode 100644 index 0000000000..68380e3f2e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1.gen.cs @@ -0,0 +1,56 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 +{ + /// + + [NativeTypeName("D3D12_VIDEO_PROCESS_INPUT_STREAM[2]")] + public _InputStream_e__FixedBuffer InputStream; + + /// + + public D3D12_VIDEO_PROCESS_TRANSFORM Transform; + + /// + + public D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Flags; + + /// + + public D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE RateInfo; + + /// + + [NativeTypeName("INT[32]")] + public _FilterLevels_e__FixedBuffer FilterLevels; + + /// + + public D3D12_VIDEO_PROCESS_ALPHA_BLENDING AlphaBlending; + + /// + + public D3D12_VIDEO_FIELD_TYPE FieldType; + + /// + + [InlineArray(2)] + public partial struct _InputStream_e__FixedBuffer + { + public D3D12_VIDEO_PROCESS_INPUT_STREAM e0; + } + + /// + + [InlineArray(32)] + public partial struct _FilterLevels_e__FixedBuffer + { + public int e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC.gen.cs new file mode 100644 index 0000000000..e52cd0a50f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC.gen.cs @@ -0,0 +1,78 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC +{ + /// + + public DXGI_FORMAT Format; + + /// + + public DXGI_COLOR_SPACE_TYPE ColorSpace; + + /// + + public DXGI_RATIONAL SourceAspectRatio; + + /// + + public DXGI_RATIONAL DestinationAspectRatio; + + /// + + public DXGI_RATIONAL FrameRate; + + /// + + public D3D12_VIDEO_SIZE_RANGE SourceSizeRange; + + /// + + public D3D12_VIDEO_SIZE_RANGE DestinationSizeRange; + + /// + + public BOOL EnableOrientation; + + /// + + public D3D12_VIDEO_PROCESS_FILTER_FLAGS FilterFlags; + + /// + + public D3D12_VIDEO_FRAME_STEREO_FORMAT StereoFormat; + + /// + + public D3D12_VIDEO_FIELD_TYPE FieldType; + + /// + + public D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS DeinterlaceMode; + + /// + + public BOOL EnableAlphaBlending; + + /// + + public D3D12_VIDEO_PROCESS_LUMA_KEY LumaKey; + + /// + + public uint NumPastFrames; + + /// + + public uint NumFutureFrames; + + /// + + public BOOL EnableAutoProcessing; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS.gen.cs new file mode 100644 index 0000000000..00ee18a8f1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS +{ + /// + + D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_DISCONTINUITY = 0x1, + + /// + + D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAG_FRAME_REPEAT = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE.gen.cs new file mode 100644 index 0000000000..7ce937e4ea --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE +{ + /// + + public uint OutputIndex; + + /// + + public uint InputFrameOrField; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_LUMA_KEY.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_LUMA_KEY.gen.cs new file mode 100644 index 0000000000..3fff74195b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_LUMA_KEY.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_LUMA_KEY +{ + /// + + public BOOL Enable; + + /// + + public float Lower; + + /// + + public float Upper; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ORIENTATION.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ORIENTATION.gen.cs new file mode 100644 index 0000000000..dbef881f09 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ORIENTATION.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D12_VIDEO_PROCESS_ORIENTATION +{ + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_DEFAULT = 0, + + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_HORIZONTAL = 1, + + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90 = 2, + + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_90_FLIP_HORIZONTAL = 3, + + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_180 = 4, + + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_FLIP_VERTICAL = 5, + + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270 = 6, + + /// + + D3D12_VIDEO_PROCESS_ORIENTATION_CLOCKWISE_270_FLIP_HORIZONTAL = 7, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM.gen.cs new file mode 100644 index 0000000000..8db330866c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM +{ + /// + + public ID3D12Resource* pTexture2D; + + /// + + public uint Subresource; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS.gen.cs new file mode 100644 index 0000000000..8e91298b7b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS.gen.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS +{ + /// + + [NativeTypeName("D3D12_VIDEO_PROCESS_OUTPUT_STREAM[2]")] + public _OutputStream_e__FixedBuffer OutputStream; + + /// + + [NativeTypeName("D3D12_RECT")] + public RECT TargetRectangle; + + /// + + [InlineArray(2)] + public partial struct _OutputStream_e__FixedBuffer + { + public D3D12_VIDEO_PROCESS_OUTPUT_STREAM e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC.gen.cs new file mode 100644 index 0000000000..1451d1bf1b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC +{ + /// + + public DXGI_FORMAT Format; + + /// + + public DXGI_COLOR_SPACE_TYPE ColorSpace; + + /// + + public D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE AlphaFillMode; + + /// + + public uint AlphaFillModeSourceStreamIndex; + + /// + + [NativeTypeName("FLOAT[4]")] + public _BackgroundColor_e__FixedBuffer BackgroundColor; + + /// + + public DXGI_RATIONAL FrameRate; + + /// + + public BOOL EnableStereo; + + /// + + [InlineArray(4)] + public partial struct _BackgroundColor_e__FixedBuffer + { + public float e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_REFERENCE_SET.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_REFERENCE_SET.gen.cs new file mode 100644 index 0000000000..af5e9929ce --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_REFERENCE_SET.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D12_VIDEO_PROCESS_REFERENCE_SET +{ + /// + + public uint NumPastFrames; + + /// + + public ID3D12Resource** ppPastFrames; + + /// + + public uint* pPastSubresources; + + /// + + public uint NumFutureFrames; + + /// + + public ID3D12Resource** ppFutureFrames; + + /// + + public uint* pFutureSubresources; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..5f3719b441 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_PROCESS_SUPPORT_FLAGS +{ + /// + + D3D12_VIDEO_PROCESS_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_PROCESS_SUPPORT_FLAG_SUPPORTED = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_TRANSFORM.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_TRANSFORM.gen.cs new file mode 100644 index 0000000000..f13258ce2c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_TRANSFORM.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; + +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_PROCESS_TRANSFORM +{ + /// + + [NativeTypeName("D3D12_RECT")] + public RECT SourceRectangle; + + /// + + [NativeTypeName("D3D12_RECT")] + public RECT DestinationRectangle; + + /// + + public D3D12_VIDEO_PROCESS_ORIENTATION Orientation; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..fb35d34aed --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[Flags] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS +{ + /// + + D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAG_SUPPORTED = 0x1, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SAMPLE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SAMPLE.gen.cs new file mode 100644 index 0000000000..ab88e3cb6c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SAMPLE.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_SAMPLE +{ + /// + + public uint Width; + + /// + + public uint Height; + + /// + + public D3D12_VIDEO_FORMAT Format; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORT.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORT.gen.cs new file mode 100644 index 0000000000..3719a47bb7 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_SCALE_SUPPORT +{ + /// + + public D3D12_VIDEO_SIZE_RANGE OutputSizeRange; + + /// + + public D3D12_VIDEO_SCALE_SUPPORT_FLAGS Flags; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORT_FLAGS.gen.cs new file mode 100644 index 0000000000..2d82cd8767 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORT_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_VIDEO_SCALE_SUPPORT_FLAGS +{ + /// + + D3D12_VIDEO_SCALE_SUPPORT_FLAG_NONE = 0, + + /// + + D3D12_VIDEO_SCALE_SUPPORT_FLAG_POW2_ONLY = 0x1, + + /// + + D3D12_VIDEO_SCALE_SUPPORT_FLAG_EVEN_DIMENSIONS_ONLY = 0x2, +} diff --git a/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SIZE_RANGE.gen.cs b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SIZE_RANGE.gen.cs new file mode 100644 index 0000000000..f16e5a63af --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SIZE_RANGE.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct D3D12_VIDEO_SIZE_RANGE +{ + /// + + public uint MaxWidth; + + /// + + public uint MaxHeight; + + /// + + public uint MinWidth; + + /// + + public uint MinHeight; +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList.gen.cs new file mode 100644 index 0000000000..e9edb4b355 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList.gen.cs @@ -0,0 +1,581 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("3B60536E-AD29-4E64-A269-F853837E5E53")] +[NativeTypeName("struct ID3D12VideoDecodeCommandList : ID3D12CommandList")] +[NativeInheritance("ID3D12CommandList")] +public unsafe partial struct ID3D12VideoDecodeCommandList + : ID3D12VideoDecodeCommandList.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecodeCommandList)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[18]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[19]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DecodeFrame( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), + pDecoder, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoDecodeCommandList*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + public interface Interface : ID3D12CommandList.Interface + { + [VtblIndex(9)] + HRESULT Close(); + + [VtblIndex(10)] + HRESULT Reset(ID3D12CommandAllocator* pAllocator); + + [VtblIndex(11)] + void ClearState(); + + [VtblIndex(12)] + void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ); + + [VtblIndex(13)] + void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ); + + [VtblIndex(14)] + void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(15)] + void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(16)] + void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ); + + [VtblIndex(17)] + void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ); + + [VtblIndex(18)] + void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(19)] + void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(20)] + void EndEvent(); + + [VtblIndex(21)] + void DecodeFrame( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ); + + [VtblIndex(22)] + void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoDecoder *, const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *, const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void> DecodeFrame; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList1.gen.cs new file mode 100644 index 0000000000..5983866497 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList1.gen.cs @@ -0,0 +1,558 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("D52F011B-B56E-453C-A05A-A7F311C8F472")] +[NativeTypeName("struct ID3D12VideoDecodeCommandList1 : ID3D12VideoDecodeCommandList")] +[NativeInheritance("ID3D12VideoDecodeCommandList")] +public unsafe partial struct ID3D12VideoDecodeCommandList1 + : ID3D12VideoDecodeCommandList1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecodeCommandList1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DecodeFrame( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), + pDecoder, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void DecodeFrame1( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList1*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[23]) + )( + (ID3D12VideoDecodeCommandList1*)Unsafe.AsPointer(ref this), + pDecoder, + pOutputArguments, + pInputArguments + ); + } + + public interface Interface : ID3D12VideoDecodeCommandList.Interface + { + [VtblIndex(23)] + void DecodeFrame1( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoDecoder *, const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *, const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void> DecodeFrame; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName( + "void (ID3D12VideoDecoder *, const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *, const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void> DecodeFrame1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList2.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList2.gen.cs new file mode 100644 index 0000000000..7d3f79c85f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList2.gen.cs @@ -0,0 +1,660 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("6E120880-C114-4153-8036-D247051E1729")] +[NativeTypeName("struct ID3D12VideoDecodeCommandList2 : ID3D12VideoDecodeCommandList1")] +[NativeInheritance("ID3D12VideoDecodeCommandList1")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct ID3D12VideoDecodeCommandList2 + : ID3D12VideoDecodeCommandList2.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecodeCommandList2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DecodeFrame( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), + pDecoder, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void DecodeFrame1( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[23]) + )( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), + pDecoder, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[25]) + )( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pInitializationParameters, + InitializationParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList2*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[26]) + )( + (ID3D12VideoDecodeCommandList2*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes + ); + } + + public interface Interface : ID3D12VideoDecodeCommandList1.Interface + { + [VtblIndex(24)] + void SetProtectedResourceSession(ID3D12ProtectedResourceSession* pProtectedResourceSession); + + [VtblIndex(25)] + void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ); + + [VtblIndex(26)] + void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoDecoder *, const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *, const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void> DecodeFrame; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName( + "void (ID3D12VideoDecoder *, const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *, const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void> DecodeFrame1; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> InitializeExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> ExecuteExtensionCommand; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList3.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList3.gen.cs new file mode 100644 index 0000000000..639aaaf472 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList3.gen.cs @@ -0,0 +1,670 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("2AEE8C37-9562-42DA-8ABF-61EFEB2E4513")] +[NativeTypeName("struct ID3D12VideoDecodeCommandList3 : ID3D12VideoDecodeCommandList2")] +[NativeInheritance("ID3D12VideoDecodeCommandList2")] +public unsafe partial struct ID3D12VideoDecodeCommandList3 + : ID3D12VideoDecodeCommandList3.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecodeCommandList3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DecodeFrame( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + pDecoder, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void DecodeFrame1( + ID3D12VideoDecoder* pDecoder, + [NativeTypeName("const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[23]) + )( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + pDecoder, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[25]) + )( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pInitializationParameters, + InitializationParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoDecodeCommandList3*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[26]) + )( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ) + { + ( + (delegate* unmanaged)( + lpVtbl[27] + ) + )( + (ID3D12VideoDecodeCommandList3*)Unsafe.AsPointer(ref this), + NumBarrierGroups, + pBarrierGroups + ); + } + + public interface Interface : ID3D12VideoDecodeCommandList2.Interface + { + [VtblIndex(27)] + void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoDecoder *, const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS *, const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void> DecodeFrame; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName( + "void (ID3D12VideoDecoder *, const D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 *, const D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1*, + D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS*, + void> DecodeFrame1; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> InitializeExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> ExecuteExtensionCommand; + + [NativeTypeName("void (UINT32, const D3D12_BARRIER_GROUP *) __attribute__((stdcall))")] + public delegate* unmanaged Barrier; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder.gen.cs new file mode 100644 index 0000000000..734e0a17e3 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder.gen.cs @@ -0,0 +1,190 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("C59B6BDC-7720-4074-A136-17A156037470")] +[NativeTypeName("struct ID3D12VideoDecoder : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12VideoDecoder : ID3D12VideoDecoder.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecoder)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoDecoder*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_VIDEO_DECODER_DESC GetDesc() + { + D3D12_VIDEO_DECODER_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoDecoder*, + D3D12_VIDEO_DECODER_DESC*, + D3D12_VIDEO_DECODER_DESC*>)(lpVtbl[8]) + )((ID3D12VideoDecoder*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + D3D12_VIDEO_DECODER_DESC GetDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_VIDEO_DECODER_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + D3D12_VIDEO_DECODER_DESC*> GetDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder1.gen.cs new file mode 100644 index 0000000000..1717dd7e01 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder1.gen.cs @@ -0,0 +1,214 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("79A2E5FB-CCD2-469A-9FDE-195D10951F7E")] +[NativeTypeName("struct ID3D12VideoDecoder1 : ID3D12VideoDecoder")] +[NativeInheritance("ID3D12VideoDecoder")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct ID3D12VideoDecoder1 : ID3D12VideoDecoder1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecoder1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_VIDEO_DECODER_DESC GetDesc() + { + D3D12_VIDEO_DECODER_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoDecoder1*, + D3D12_VIDEO_DECODER_DESC*, + D3D12_VIDEO_DECODER_DESC*>)(lpVtbl[8]) + )((ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoDecoder1*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12VideoDecoder.Interface + { + [VtblIndex(9)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_VIDEO_DECODER_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + D3D12_VIDEO_DECODER_DESC*> GetDesc; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap.gen.cs new file mode 100644 index 0000000000..b2c872852a --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap.gen.cs @@ -0,0 +1,187 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("0946B7C9-EBF6-4047-BB73-8683E27DBB1F")] +[NativeTypeName("struct ID3D12VideoDecoderHeap : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12VideoDecoderHeap : ID3D12VideoDecoderHeap.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecoderHeap)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_VIDEO_DECODER_HEAP_DESC GetDesc() + { + D3D12_VIDEO_DECODER_HEAP_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoDecoderHeap*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + D3D12_VIDEO_DECODER_HEAP_DESC*>)(lpVtbl[8]) + )((ID3D12VideoDecoderHeap*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + D3D12_VIDEO_DECODER_HEAP_DESC GetDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_VIDEO_DECODER_HEAP_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + D3D12_VIDEO_DECODER_HEAP_DESC*> GetDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap1.gen.cs new file mode 100644 index 0000000000..e64394e7a1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap1.gen.cs @@ -0,0 +1,208 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("DA1D98C5-539F-41B2-BF6B-1198A03B6D26")] +[NativeTypeName("struct ID3D12VideoDecoderHeap1 : ID3D12VideoDecoderHeap")] +[NativeInheritance("ID3D12VideoDecoderHeap")] +public unsafe partial struct ID3D12VideoDecoderHeap1 + : ID3D12VideoDecoderHeap1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDecoderHeap1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_VIDEO_DECODER_HEAP_DESC GetDesc() + { + D3D12_VIDEO_DECODER_HEAP_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoDecoderHeap1*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + D3D12_VIDEO_DECODER_HEAP_DESC*>)(lpVtbl[8]) + )((ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoDecoderHeap1*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12VideoDecoderHeap.Interface + { + [VtblIndex(9)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_VIDEO_DECODER_HEAP_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + D3D12_VIDEO_DECODER_HEAP_DESC*> GetDesc; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice.gen.cs new file mode 100644 index 0000000000..d8c3045f25 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice.gen.cs @@ -0,0 +1,253 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("1F052807-0B46-4ACC-8A89-364F793718A4")] +[NativeTypeName("struct ID3D12VideoDevice : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12VideoDevice : ID3D12VideoDevice.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDevice)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDevice*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDevice*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE_VIDEO FeatureVideo, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )( + (ID3D12VideoDevice*)Unsafe.AsPointer(ref this), + FeatureVideo, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT CreateVideoDecoder( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int>)(lpVtbl[4]) + )((ID3D12VideoDevice*)Unsafe.AsPointer(ref this), pDesc, riid, ppVideoDecoder); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT CreateVideoDecoderHeap( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int>)(lpVtbl[5]) + )( + (ID3D12VideoDevice*)Unsafe.AsPointer(ref this), + pVideoDecoderHeapDesc, + riid, + ppVideoDecoderHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT CreateVideoProcessor( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[6]) + )( + (ID3D12VideoDevice*)Unsafe.AsPointer(ref this), + NodeMask, + pOutputStreamDesc, + NumInputStreamDescs, + pInputStreamDescs, + riid, + ppVideoProcessor + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT CheckFeatureSupport( + D3D12_FEATURE_VIDEO FeatureVideo, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ); + + [VtblIndex(4)] + HRESULT CreateVideoDecoder( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ); + + [VtblIndex(5)] + HRESULT CreateVideoDecoderHeap( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ); + + [VtblIndex(6)] + HRESULT CreateVideoProcessor( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_FEATURE_VIDEO, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_FEATURE_VIDEO, + void*, + uint, + int> CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int> CreateVideoDecoder; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int> CreateVideoDecoderHeap; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int> CreateVideoProcessor; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice1.gen.cs new file mode 100644 index 0000000000..c51a8839e8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice1.gen.cs @@ -0,0 +1,317 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("981611AD-A144-4C83-9890-F30E26D658AB")] +[NativeTypeName("struct ID3D12VideoDevice1 : ID3D12VideoDevice")] +[NativeInheritance("ID3D12VideoDevice")] +public unsafe partial struct ID3D12VideoDevice1 : ID3D12VideoDevice1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDevice1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE_VIDEO FeatureVideo, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this), + FeatureVideo, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT CreateVideoDecoder( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice1*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int>)(lpVtbl[4]) + )((ID3D12VideoDevice1*)Unsafe.AsPointer(ref this), pDesc, riid, ppVideoDecoder); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT CreateVideoDecoderHeap( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice1*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int>)(lpVtbl[5]) + )( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this), + pVideoDecoderHeapDesc, + riid, + ppVideoDecoderHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT CreateVideoProcessor( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice1*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[6]) + )( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this), + NodeMask, + pOutputStreamDesc, + NumInputStreamDescs, + pInputStreamDescs, + riid, + ppVideoProcessor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT CreateVideoMotionEstimator( + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *")] + D3D12_VIDEO_MOTION_ESTIMATOR_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionEstimator + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice1*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[7]) + )( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoMotionEstimator + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateVideoMotionVectorHeap( + [NativeTypeName("const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *")] + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionVectorHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice1*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[8]) + )( + (ID3D12VideoDevice1*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoMotionVectorHeap + ); + } + + public interface Interface : ID3D12VideoDevice.Interface + { + [VtblIndex(7)] + HRESULT CreateVideoMotionEstimator( + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *")] + D3D12_VIDEO_MOTION_ESTIMATOR_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionEstimator + ); + + [VtblIndex(8)] + HRESULT CreateVideoMotionVectorHeap( + [NativeTypeName("const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *")] + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionVectorHeap + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_FEATURE_VIDEO, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_FEATURE_VIDEO, + void*, + uint, + int> CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int> CreateVideoDecoder; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int> CreateVideoDecoderHeap; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int> CreateVideoProcessor; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoMotionEstimator; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoMotionVectorHeap; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice2.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice2.gen.cs new file mode 100644 index 0000000000..d4ebd899b0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice2.gen.cs @@ -0,0 +1,572 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("F019AC49-F838-4A95-9B17-579437C8F513")] +[NativeTypeName("struct ID3D12VideoDevice2 : ID3D12VideoDevice1")] +[NativeInheritance("ID3D12VideoDevice1")] +public unsafe partial struct ID3D12VideoDevice2 : ID3D12VideoDevice2.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDevice2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE_VIDEO FeatureVideo, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + FeatureVideo, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT CreateVideoDecoder( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int>)(lpVtbl[4]) + )((ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), pDesc, riid, ppVideoDecoder); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT CreateVideoDecoderHeap( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int>)(lpVtbl[5]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + pVideoDecoderHeapDesc, + riid, + ppVideoDecoderHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT CreateVideoProcessor( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[6]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + NodeMask, + pOutputStreamDesc, + NumInputStreamDescs, + pInputStreamDescs, + riid, + ppVideoProcessor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT CreateVideoMotionEstimator( + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *")] + D3D12_VIDEO_MOTION_ESTIMATOR_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionEstimator + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[7]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoMotionEstimator + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateVideoMotionVectorHeap( + [NativeTypeName("const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *")] + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionVectorHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[8]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoMotionVectorHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateVideoDecoder1( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + D3D12_VIDEO_DECODER_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[9]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoDecoder + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateVideoDecoderHeap1( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[10]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + pVideoDecoderHeapDesc, + pProtectedResourceSession, + riid, + ppVideoDecoderHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateVideoProcessor1( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[11]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + NodeMask, + pOutputStreamDesc, + NumInputStreamDescs, + pInputStreamDescs, + pProtectedResourceSession, + riid, + ppVideoProcessor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateVideoExtensionCommand( + [NativeTypeName("const D3D12_VIDEO_EXTENSION_COMMAND_DESC *")] + D3D12_VIDEO_EXTENSION_COMMAND_DESC* pDesc, + [NativeTypeName("const void *")] void* pCreationParameters, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoExtensionCommand + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*, + void*, + nuint, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + pDesc, + pCreationParameters, + CreationParametersDataSizeInBytes, + pProtectedResourceSession, + riid, + ppVideoExtensionCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes, + void* pOutputData, + [NativeTypeName("SIZE_T")] nuint OutputDataSizeInBytes + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice2*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void*, + nuint, + int>)(lpVtbl[13]) + )( + (ID3D12VideoDevice2*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes, + pOutputData, + OutputDataSizeInBytes + ); + } + + public interface Interface : ID3D12VideoDevice1.Interface + { + [VtblIndex(9)] + HRESULT CreateVideoDecoder1( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ); + + [VtblIndex(10)] + HRESULT CreateVideoDecoderHeap1( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ); + + [VtblIndex(11)] + HRESULT CreateVideoProcessor1( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ); + + [VtblIndex(12)] + HRESULT CreateVideoExtensionCommand( + [NativeTypeName("const D3D12_VIDEO_EXTENSION_COMMAND_DESC *")] + D3D12_VIDEO_EXTENSION_COMMAND_DESC* pDesc, + [NativeTypeName("const void *")] void* pCreationParameters, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoExtensionCommand + ); + + [VtblIndex(13)] + HRESULT ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes, + void* pOutputData, + [NativeTypeName("SIZE_T")] nuint OutputDataSizeInBytes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_FEATURE_VIDEO, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_FEATURE_VIDEO, + void*, + uint, + int> CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int> CreateVideoDecoder; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int> CreateVideoDecoderHeap; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int> CreateVideoProcessor; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoMotionEstimator; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoMotionVectorHeap; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoDecoder1; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoDecoderHeap1; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoProcessor1; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_EXTENSION_COMMAND_DESC *, const void *, SIZE_T, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*, + void*, + nuint, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoExtensionCommand; + + [NativeTypeName( + "HRESULT (ID3D12VideoExtensionCommand *, const void *, SIZE_T, void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void*, + nuint, + int> ExecuteExtensionCommand; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice3.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice3.gen.cs new file mode 100644 index 0000000000..781af1ff56 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice3.gen.cs @@ -0,0 +1,598 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("4243ADB4-3A32-4666-973C-0CCC5625DC44")] +[NativeTypeName("struct ID3D12VideoDevice3 : ID3D12VideoDevice2")] +[NativeInheritance("ID3D12VideoDevice2")] +public unsafe partial struct ID3D12VideoDevice3 : ID3D12VideoDevice3.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoDevice3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT CheckFeatureSupport( + D3D12_FEATURE_VIDEO FeatureVideo, + void* pFeatureSupportData, + uint FeatureSupportDataSize + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + FeatureVideo, + pFeatureSupportData, + FeatureSupportDataSize + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT CreateVideoDecoder( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int>)(lpVtbl[4]) + )((ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), pDesc, riid, ppVideoDecoder); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT CreateVideoDecoderHeap( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int>)(lpVtbl[5]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + pVideoDecoderHeapDesc, + riid, + ppVideoDecoderHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT CreateVideoProcessor( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int>)(lpVtbl[6]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + NodeMask, + pOutputStreamDesc, + NumInputStreamDescs, + pInputStreamDescs, + riid, + ppVideoProcessor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT CreateVideoMotionEstimator( + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *")] + D3D12_VIDEO_MOTION_ESTIMATOR_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionEstimator + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[7]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoMotionEstimator + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HRESULT CreateVideoMotionVectorHeap( + [NativeTypeName("const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *")] + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoMotionVectorHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[8]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoMotionVectorHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT CreateVideoDecoder1( + [NativeTypeName("const D3D12_VIDEO_DECODER_DESC *")] D3D12_VIDEO_DECODER_DESC* pDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoder + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_DECODER_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[9]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + pDesc, + pProtectedResourceSession, + riid, + ppVideoDecoder + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT CreateVideoDecoderHeap1( + [NativeTypeName("const D3D12_VIDEO_DECODER_HEAP_DESC *")] + D3D12_VIDEO_DECODER_HEAP_DESC* pVideoDecoderHeapDesc, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoDecoderHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[10]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + pVideoDecoderHeapDesc, + pProtectedResourceSession, + riid, + ppVideoDecoderHeap + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT CreateVideoProcessor1( + uint NodeMask, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC* pOutputStreamDesc, + uint NumInputStreamDescs, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoProcessor + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[11]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + NodeMask, + pOutputStreamDesc, + NumInputStreamDescs, + pInputStreamDescs, + pProtectedResourceSession, + riid, + ppVideoProcessor + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT CreateVideoExtensionCommand( + [NativeTypeName("const D3D12_VIDEO_EXTENSION_COMMAND_DESC *")] + D3D12_VIDEO_EXTENSION_COMMAND_DESC* pDesc, + [NativeTypeName("const void *")] void* pCreationParameters, + [NativeTypeName("SIZE_T")] nuint CreationParametersDataSizeInBytes, + ID3D12ProtectedResourceSession* pProtectedResourceSession, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoExtensionCommand + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*, + void*, + nuint, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int>)(lpVtbl[12]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + pDesc, + pCreationParameters, + CreationParametersDataSizeInBytes, + pProtectedResourceSession, + riid, + ppVideoExtensionCommand + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HRESULT ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes, + void* pOutputData, + [NativeTypeName("SIZE_T")] nuint OutputDataSizeInBytes + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void*, + nuint, + int>)(lpVtbl[13]) + )( + (ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes, + pOutputData, + OutputDataSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT CreateVideoEncoder( + [NativeTypeName("const D3D12_VIDEO_ENCODER_DESC *")] D3D12_VIDEO_ENCODER_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoEncoder + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_ENCODER_DESC*, + Guid*, + void**, + int>)(lpVtbl[14]) + )((ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), pDesc, riid, ppVideoEncoder); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HRESULT CreateVideoEncoderHeap( + [NativeTypeName("const D3D12_VIDEO_ENCODER_HEAP_DESC *")] + D3D12_VIDEO_ENCODER_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoEncoderHeap + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoDevice3*, + D3D12_VIDEO_ENCODER_HEAP_DESC*, + Guid*, + void**, + int>)(lpVtbl[15]) + )((ID3D12VideoDevice3*)Unsafe.AsPointer(ref this), pDesc, riid, ppVideoEncoderHeap); + } + + public interface Interface : ID3D12VideoDevice2.Interface + { + [VtblIndex(14)] + HRESULT CreateVideoEncoder( + [NativeTypeName("const D3D12_VIDEO_ENCODER_DESC *")] D3D12_VIDEO_ENCODER_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoEncoder + ); + + [VtblIndex(15)] + HRESULT CreateVideoEncoderHeap( + [NativeTypeName("const D3D12_VIDEO_ENCODER_HEAP_DESC *")] + D3D12_VIDEO_ENCODER_HEAP_DESC* pDesc, + [NativeTypeName("const IID &")] Guid* riid, + void** ppVideoEncoderHeap + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (D3D12_FEATURE_VIDEO, void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_FEATURE_VIDEO, + void*, + uint, + int> CheckFeatureSupport; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + Guid*, + void**, + int> CreateVideoDecoder; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + Guid*, + void**, + int> CreateVideoDecoderHeap; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + Guid*, + void**, + int> CreateVideoProcessor; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_MOTION_ESTIMATOR_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoMotionEstimator; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoMotionVectorHeap; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoDecoder1; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_DECODER_HEAP_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_DECODER_HEAP_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoDecoderHeap1; + + [NativeTypeName( + "HRESULT (UINT, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoProcessor1; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_EXTENSION_COMMAND_DESC *, const void *, SIZE_T, ID3D12ProtectedResourceSession *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*, + void*, + nuint, + ID3D12ProtectedResourceSession*, + Guid*, + void**, + int> CreateVideoExtensionCommand; + + [NativeTypeName( + "HRESULT (ID3D12VideoExtensionCommand *, const void *, SIZE_T, void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void*, + nuint, + int> ExecuteExtensionCommand; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_ENCODER_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_ENCODER_DESC*, + Guid*, + void**, + int> CreateVideoEncoder; + + [NativeTypeName( + "HRESULT (const D3D12_VIDEO_ENCODER_HEAP_DESC *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_ENCODER_HEAP_DESC*, + Guid*, + void**, + int> CreateVideoEncoderHeap; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList.gen.cs new file mode 100644 index 0000000000..5f43f6ee2b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList.gen.cs @@ -0,0 +1,649 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8455293A-0CBD-4831-9B39-FBDBAB724723")] +[NativeTypeName("struct ID3D12VideoEncodeCommandList : ID3D12CommandList")] +[NativeInheritance("ID3D12CommandList")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct ID3D12VideoEncodeCommandList + : ID3D12VideoEncodeCommandList.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoEncodeCommandList)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[18]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ((delegate* unmanaged)(lpVtbl[19]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), + Metadata, + pData, + Size + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void EstimateMotion( + ID3D12VideoMotionEstimator* pMotionEstimator, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), + pMotionEstimator, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void ResolveMotionVectorHeap( + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void>)(lpVtbl[22]) + )( + (ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[23]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoEncodeCommandList*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + public interface Interface : ID3D12CommandList.Interface + { + [VtblIndex(9)] + HRESULT Close(); + + [VtblIndex(10)] + HRESULT Reset(ID3D12CommandAllocator* pAllocator); + + [VtblIndex(11)] + void ClearState(); + + [VtblIndex(12)] + void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ); + + [VtblIndex(13)] + void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ); + + [VtblIndex(14)] + void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(15)] + void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(16)] + void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ); + + [VtblIndex(17)] + void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ); + + [VtblIndex(18)] + void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(19)] + void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(20)] + void EndEvent(); + + [VtblIndex(21)] + void EstimateMotion( + ID3D12VideoMotionEstimator* pMotionEstimator, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT* pInputArguments + ); + + [VtblIndex(22)] + void ResolveMotionVectorHeap( + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT* pInputArguments + ); + + [VtblIndex(23)] + void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ); + + [VtblIndex(24)] + void SetProtectedResourceSession(ID3D12ProtectedResourceSession* pProtectedResourceSession); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoMotionEstimator *, const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *, const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void> EstimateMotion; + + [NativeTypeName( + "void (const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *, const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void> ResolveMotionVectorHeap; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList1.gen.cs new file mode 100644 index 0000000000..ff71108a13 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList1.gen.cs @@ -0,0 +1,651 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("94971ECA-2BDB-4769-88CF-3675EA757EBC")] +[NativeTypeName("struct ID3D12VideoEncodeCommandList1 : ID3D12VideoEncodeCommandList")] +[NativeInheritance("ID3D12VideoEncodeCommandList")] +public unsafe partial struct ID3D12VideoEncodeCommandList1 + : ID3D12VideoEncodeCommandList1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoEncodeCommandList1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void EstimateMotion( + ID3D12VideoMotionEstimator* pMotionEstimator, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), + pMotionEstimator, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void ResolveMotionVectorHeap( + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void>)(lpVtbl[22]) + )( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[23]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[25]) + )( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pInitializationParameters, + InitializationParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList1*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[26]) + )( + (ID3D12VideoEncodeCommandList1*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes + ); + } + + public interface Interface : ID3D12VideoEncodeCommandList.Interface + { + [VtblIndex(25)] + void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ); + + [VtblIndex(26)] + void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoMotionEstimator *, const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *, const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void> EstimateMotion; + + [NativeTypeName( + "void (const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *, const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void> ResolveMotionVectorHeap; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> InitializeExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> ExecuteExtensionCommand; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList2.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList2.gen.cs new file mode 100644 index 0000000000..6d27ffae31 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList2.gen.cs @@ -0,0 +1,729 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("895491E2-E701-46A9-9A1F-8D3480ED867A")] +[NativeTypeName("struct ID3D12VideoEncodeCommandList2 : ID3D12VideoEncodeCommandList1")] +[NativeInheritance("ID3D12VideoEncodeCommandList1")] +public unsafe partial struct ID3D12VideoEncodeCommandList2 + : ID3D12VideoEncodeCommandList2.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoEncodeCommandList2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void EstimateMotion( + ID3D12VideoMotionEstimator* pMotionEstimator, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pMotionEstimator, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void ResolveMotionVectorHeap( + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void>)(lpVtbl[22]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[23]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[25]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pInitializationParameters, + InitializationParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[26]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void EncodeFrame( + ID3D12VideoEncoder* pEncoder, + ID3D12VideoEncoderHeap* pHeap, + [NativeTypeName("const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS* pInputArguments, + [NativeTypeName("const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS* pOutputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + ID3D12VideoEncoder*, + ID3D12VideoEncoderHeap*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS*, + void>)(lpVtbl[27]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pEncoder, + pHeap, + pInputArguments, + pOutputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void ResolveEncoderOutputMetadata( + [NativeTypeName("const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS* pInputArguments, + [NativeTypeName("const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS* pOutputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList2*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS*, + void>)(lpVtbl[28]) + )( + (ID3D12VideoEncodeCommandList2*)Unsafe.AsPointer(ref this), + pInputArguments, + pOutputArguments + ); + } + + public interface Interface : ID3D12VideoEncodeCommandList1.Interface + { + [VtblIndex(27)] + void EncodeFrame( + ID3D12VideoEncoder* pEncoder, + ID3D12VideoEncoderHeap* pHeap, + [NativeTypeName("const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS* pInputArguments, + [NativeTypeName("const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS* pOutputArguments + ); + + [VtblIndex(28)] + void ResolveEncoderOutputMetadata( + [NativeTypeName("const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS* pInputArguments, + [NativeTypeName("const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS* pOutputArguments + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoMotionEstimator *, const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *, const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void> EstimateMotion; + + [NativeTypeName( + "void (const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *, const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void> ResolveMotionVectorHeap; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> InitializeExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> ExecuteExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoEncoder *, ID3D12VideoEncoderHeap *, const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *, const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoEncoder*, + ID3D12VideoEncoderHeap*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS*, + void> EncodeFrame; + + [NativeTypeName( + "void (const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *, const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS*, + void> ResolveEncoderOutputMetadata; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList3.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList3.gen.cs new file mode 100644 index 0000000000..3a331c92ef --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList3.gen.cs @@ -0,0 +1,740 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("7F027B22-1515-4E85-AA0D-026486580576")] +[NativeTypeName("struct ID3D12VideoEncodeCommandList3 : ID3D12VideoEncodeCommandList2")] +[NativeInheritance("ID3D12VideoEncodeCommandList2")] +public unsafe partial struct ID3D12VideoEncodeCommandList3 + : ID3D12VideoEncodeCommandList3.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoEncodeCommandList3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void EstimateMotion( + ID3D12VideoMotionEstimator* pMotionEstimator, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *")] + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pMotionEstimator, + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void ResolveMotionVectorHeap( + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT* pOutputArguments, + [NativeTypeName("const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *")] + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void>)(lpVtbl[22]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pOutputArguments, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[23]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[25]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pInitializationParameters, + InitializationParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[26]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void EncodeFrame( + ID3D12VideoEncoder* pEncoder, + ID3D12VideoEncoderHeap* pHeap, + [NativeTypeName("const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS* pInputArguments, + [NativeTypeName("const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS* pOutputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + ID3D12VideoEncoder*, + ID3D12VideoEncoderHeap*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS*, + void>)(lpVtbl[27]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pEncoder, + pHeap, + pInputArguments, + pOutputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void ResolveEncoderOutputMetadata( + [NativeTypeName("const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS* pInputArguments, + [NativeTypeName("const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *")] + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS* pOutputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoEncodeCommandList3*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS*, + void>)(lpVtbl[28]) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + pInputArguments, + pOutputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ) + { + ( + (delegate* unmanaged)( + lpVtbl[29] + ) + )( + (ID3D12VideoEncodeCommandList3*)Unsafe.AsPointer(ref this), + NumBarrierGroups, + pBarrierGroups + ); + } + + public interface Interface : ID3D12VideoEncodeCommandList2.Interface + { + [VtblIndex(29)] + void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoMotionEstimator *, const D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT *, const D3D12_VIDEO_MOTION_ESTIMATOR_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT*, + D3D12_VIDEO_MOTION_ESTIMATOR_INPUT*, + void> EstimateMotion; + + [NativeTypeName( + "void (const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT *, const D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT*, + D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT*, + void> ResolveMotionVectorHeap; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> InitializeExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> ExecuteExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoEncoder *, ID3D12VideoEncoderHeap *, const D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS *, const D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoEncoder*, + ID3D12VideoEncoderHeap*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS*, + void> EncodeFrame; + + [NativeTypeName( + "void (const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS *, const D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS*, + D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS*, + void> ResolveEncoderOutputMetadata; + + [NativeTypeName("void (UINT32, const D3D12_BARRIER_GROUP *) __attribute__((stdcall))")] + public delegate* unmanaged Barrier; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoder.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoder.gen.cs new file mode 100644 index 0000000000..2d4803d969 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoder.gen.cs @@ -0,0 +1,301 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("2E0D212D-8DF9-44A6-A770-BB289B182737")] +[NativeTypeName("struct ID3D12VideoEncoder : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12VideoEncoder : ID3D12VideoEncoder.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoEncoder)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public uint GetNodeMask() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public D3D12_VIDEO_ENCODER_FLAGS GetEncoderFlags() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_VIDEO_ENCODER_CODEC GetCodec() + { + return ((delegate* unmanaged)(lpVtbl[10]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT GetCodecProfile(D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile) + { + return ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), dstProfile); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT GetCodecConfiguration(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig) + { + return ( + (delegate* unmanaged< + ID3D12VideoEncoder*, + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION, + int>)(lpVtbl[12]) + )((ID3D12VideoEncoder*)Unsafe.AsPointer(ref this), dstCodecConfig); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public DXGI_FORMAT GetInputFormat() + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12VideoEncoder*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE GetMaxMotionEstimationPrecision() + { + return ( + (delegate* unmanaged< + ID3D12VideoEncoder*, + D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE>)(lpVtbl[14]) + )((ID3D12VideoEncoder*)Unsafe.AsPointer(ref this)); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + uint GetNodeMask(); + + [VtblIndex(9)] + D3D12_VIDEO_ENCODER_FLAGS GetEncoderFlags(); + + [VtblIndex(10)] + D3D12_VIDEO_ENCODER_CODEC GetCodec(); + + [VtblIndex(11)] + HRESULT GetCodecProfile(D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile); + + [VtblIndex(12)] + HRESULT GetCodecConfiguration(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION dstCodecConfig); + + [VtblIndex(13)] + DXGI_FORMAT GetInputFormat(); + + [VtblIndex(14)] + D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE GetMaxMotionEstimationPrecision(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeMask; + + [NativeTypeName("D3D12_VIDEO_ENCODER_FLAGS () __attribute__((stdcall))")] + public delegate* unmanaged GetEncoderFlags; + + [NativeTypeName("D3D12_VIDEO_ENCODER_CODEC () __attribute__((stdcall))")] + public delegate* unmanaged GetCodec; + + [NativeTypeName("HRESULT (D3D12_VIDEO_ENCODER_PROFILE_DESC) __attribute__((stdcall))")] + public delegate* unmanaged GetCodecProfile; + + [NativeTypeName( + "HRESULT (D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION, + int> GetCodecConfiguration; + + [NativeTypeName("DXGI_FORMAT () __attribute__((stdcall))")] + public delegate* unmanaged GetInputFormat; + + [NativeTypeName( + "D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE () __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE> GetMaxMotionEstimationPrecision; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderHeap.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderHeap.gen.cs new file mode 100644 index 0000000000..1a8a8889f5 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderHeap.gen.cs @@ -0,0 +1,308 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("22B35D96-876A-44C0-B25E-FB8C9C7F1C4A")] +[NativeTypeName("struct ID3D12VideoEncoderHeap : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12VideoEncoderHeap : ID3D12VideoEncoderHeap.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoEncoderHeap)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public uint GetNodeMask() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public D3D12_VIDEO_ENCODER_HEAP_FLAGS GetEncoderHeapFlags() + { + return ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public D3D12_VIDEO_ENCODER_CODEC GetCodec() + { + return ( + (delegate* unmanaged)(lpVtbl[10]) + )((ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT GetCodecProfile(D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile) + { + return ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), dstProfile); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT GetCodecLevel(D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel) + { + return ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )((ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), dstLevel); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public uint GetResolutionListCount() + { + return ((delegate* unmanaged)(lpVtbl[13]))( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HRESULT GetResolutionList( + [NativeTypeName("const UINT")] uint ResolutionsListCount, + D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoEncoderHeap*, + uint, + D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC*, + int>)(lpVtbl[14]) + )( + (ID3D12VideoEncoderHeap*)Unsafe.AsPointer(ref this), + ResolutionsListCount, + pResolutionList + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + uint GetNodeMask(); + + [VtblIndex(9)] + D3D12_VIDEO_ENCODER_HEAP_FLAGS GetEncoderHeapFlags(); + + [VtblIndex(10)] + D3D12_VIDEO_ENCODER_CODEC GetCodec(); + + [VtblIndex(11)] + HRESULT GetCodecProfile(D3D12_VIDEO_ENCODER_PROFILE_DESC dstProfile); + + [VtblIndex(12)] + HRESULT GetCodecLevel(D3D12_VIDEO_ENCODER_LEVEL_SETTING dstLevel); + + [VtblIndex(13)] + uint GetResolutionListCount(); + + [VtblIndex(14)] + HRESULT GetResolutionList( + [NativeTypeName("const UINT")] uint ResolutionsListCount, + D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC* pResolutionList + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeMask; + + [NativeTypeName("D3D12_VIDEO_ENCODER_HEAP_FLAGS () __attribute__((stdcall))")] + public delegate* unmanaged GetEncoderHeapFlags; + + [NativeTypeName("D3D12_VIDEO_ENCODER_CODEC () __attribute__((stdcall))")] + public delegate* unmanaged GetCodec; + + [NativeTypeName("HRESULT (D3D12_VIDEO_ENCODER_PROFILE_DESC) __attribute__((stdcall))")] + public delegate* unmanaged GetCodecProfile; + + [NativeTypeName("HRESULT (D3D12_VIDEO_ENCODER_LEVEL_SETTING) __attribute__((stdcall))")] + public delegate* unmanaged GetCodecLevel; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetResolutionListCount; + + [NativeTypeName( + "HRESULT (const UINT, D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC*, + int> GetResolutionList; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoExtensionCommand.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoExtensionCommand.gen.cs new file mode 100644 index 0000000000..ae647d476b --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoExtensionCommand.gen.cs @@ -0,0 +1,211 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("554E41E8-AE8E-4A8C-B7D2-5B4F274A30E4")] +[NativeTypeName("struct ID3D12VideoExtensionCommand : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct ID3D12VideoExtensionCommand + : ID3D12VideoExtensionCommand.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoExtensionCommand)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_VIDEO_EXTENSION_COMMAND_DESC GetDesc() + { + D3D12_VIDEO_EXTENSION_COMMAND_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoExtensionCommand*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*>)(lpVtbl[8]) + )((ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoExtensionCommand*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + D3D12_VIDEO_EXTENSION_COMMAND_DESC GetDesc(); + + [VtblIndex(9)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_VIDEO_EXTENSION_COMMAND_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*, + D3D12_VIDEO_EXTENSION_COMMAND_DESC*> GetDesc; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionEstimator.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionEstimator.gen.cs new file mode 100644 index 0000000000..1bbc7c2417 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionEstimator.gen.cs @@ -0,0 +1,211 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("33FDAE0E-098B-428F-87BB-34B695DE08F8")] +[NativeTypeName("struct ID3D12VideoMotionEstimator : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct ID3D12VideoMotionEstimator + : ID3D12VideoMotionEstimator.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoMotionEstimator)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_VIDEO_MOTION_ESTIMATOR_DESC GetDesc() + { + D3D12_VIDEO_MOTION_ESTIMATOR_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoMotionEstimator*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*>)(lpVtbl[8]) + )((ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoMotionEstimator*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + D3D12_VIDEO_MOTION_ESTIMATOR_DESC GetDesc(); + + [VtblIndex(9)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_VIDEO_MOTION_ESTIMATOR_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*, + D3D12_VIDEO_MOTION_ESTIMATOR_DESC*> GetDesc; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionVectorHeap.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionVectorHeap.gen.cs new file mode 100644 index 0000000000..1cb8a22b5f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionVectorHeap.gen.cs @@ -0,0 +1,211 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("5BE17987-743A-4061-834B-23D22DAEA505")] +[NativeTypeName("struct ID3D12VideoMotionVectorHeap : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct ID3D12VideoMotionVectorHeap + : ID3D12VideoMotionVectorHeap.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoMotionVectorHeap)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[3]) + )((ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC GetDesc() + { + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoMotionVectorHeap*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*>)(lpVtbl[8]) + )((ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoMotionVectorHeap*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC GetDesc(); + + [VtblIndex(9)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*, + D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC*> GetDesc; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList.gen.cs new file mode 100644 index 0000000000..c870a68588 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList.gen.cs @@ -0,0 +1,588 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("AEB2543A-167F-4682-ACC8-D159ED4A6209")] +[NativeTypeName("struct ID3D12VideoProcessCommandList : ID3D12CommandList")] +[NativeInheritance("ID3D12CommandList")] +public unsafe partial struct ID3D12VideoProcessCommandList + : ID3D12VideoProcessCommandList.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoProcessCommandList)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void ProcessFrames( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), + pVideoProcessor, + pOutputArguments, + NumInputStreams, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoProcessCommandList*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + public interface Interface : ID3D12CommandList.Interface + { + [VtblIndex(9)] + HRESULT Close(); + + [VtblIndex(10)] + HRESULT Reset(ID3D12CommandAllocator* pAllocator); + + [VtblIndex(11)] + void ClearState(); + + [VtblIndex(12)] + void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ); + + [VtblIndex(13)] + void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ); + + [VtblIndex(14)] + void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(15)] + void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index); + + [VtblIndex(16)] + void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ); + + [VtblIndex(17)] + void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ); + + [VtblIndex(18)] + void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(19)] + void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size); + + [VtblIndex(20)] + void EndEvent(); + + [VtblIndex(21)] + void ProcessFrames( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS* pInputArguments + ); + + [VtblIndex(22)] + void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoProcessor *, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void> ProcessFrames; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList1.gen.cs new file mode 100644 index 0000000000..b295fc2acd --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList1.gen.cs @@ -0,0 +1,567 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("542C5C4D-7596-434F-8C93-4EFA6766F267")] +[NativeTypeName("struct ID3D12VideoProcessCommandList1 : ID3D12VideoProcessCommandList")] +[NativeInheritance("ID3D12VideoProcessCommandList")] +public unsafe partial struct ID3D12VideoProcessCommandList1 + : ID3D12VideoProcessCommandList1.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoProcessCommandList1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void ProcessFrames( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), + pVideoProcessor, + pOutputArguments, + NumInputStreams, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void ProcessFrames1( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList1*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1*, + void>)(lpVtbl[23]) + )( + (ID3D12VideoProcessCommandList1*)Unsafe.AsPointer(ref this), + pVideoProcessor, + pOutputArguments, + NumInputStreams, + pInputArguments + ); + } + + public interface Interface : ID3D12VideoProcessCommandList.Interface + { + [VtblIndex(23)] + void ProcessFrames1( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1* pInputArguments + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoProcessor *, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void> ProcessFrames; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName( + "void (ID3D12VideoProcessor *, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1*, + void> ProcessFrames1; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList2.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList2.gen.cs new file mode 100644 index 0000000000..0e4be080e1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList2.gen.cs @@ -0,0 +1,668 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("DB525AE4-6AD6-473C-BAA7-59B2E37082E4")] +[NativeTypeName("struct ID3D12VideoProcessCommandList2 : ID3D12VideoProcessCommandList1")] +[NativeInheritance("ID3D12VideoProcessCommandList1")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct ID3D12VideoProcessCommandList2 + : ID3D12VideoProcessCommandList2.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoProcessCommandList2)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void ProcessFrames( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), + pVideoProcessor, + pOutputArguments, + NumInputStreams, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void ProcessFrames1( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1*, + void>)(lpVtbl[23]) + )( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), + pVideoProcessor, + pOutputArguments, + NumInputStreams, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[25]) + )( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pInitializationParameters, + InitializationParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList2*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[26]) + )( + (ID3D12VideoProcessCommandList2*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes + ); + } + + public interface Interface : ID3D12VideoProcessCommandList1.Interface + { + [VtblIndex(24)] + void SetProtectedResourceSession(ID3D12ProtectedResourceSession* pProtectedResourceSession); + + [VtblIndex(25)] + void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ); + + [VtblIndex(26)] + void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoProcessor *, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void> ProcessFrames; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName( + "void (ID3D12VideoProcessor *, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1*, + void> ProcessFrames1; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> InitializeExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> ExecuteExtensionCommand; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList3.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList3.gen.cs new file mode 100644 index 0000000000..ed8940b65e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList3.gen.cs @@ -0,0 +1,680 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("1A0A4CA4-9F08-40CE-9558-B411FD2666FF")] +[NativeTypeName("struct ID3D12VideoProcessCommandList3 : ID3D12VideoProcessCommandList2")] +[NativeInheritance("ID3D12VideoProcessCommandList2")] +public unsafe partial struct ID3D12VideoProcessCommandList3 + : ID3D12VideoProcessCommandList3.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoProcessCommandList3)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ( + (delegate* unmanaged)(lpVtbl[0]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[4] + ) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), guid, DataSize, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ( + (delegate* unmanaged)(lpVtbl[5]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), guid, pData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), riid, ppvDevice); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public new D3D12_COMMAND_LIST_TYPE GetType() + { + return ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this)); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT Close() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT Reset(ID3D12CommandAllocator* pAllocator) + { + return ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), pAllocator); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void ClearState() + { + ((delegate* unmanaged)(lpVtbl[11]))( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ResourceBarrier( + uint NumBarriers, + [NativeTypeName("const D3D12_RESOURCE_BARRIER *")] D3D12_RESOURCE_BARRIER* pBarriers + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + uint, + D3D12_RESOURCE_BARRIER*, + void>)(lpVtbl[12]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), NumBarriers, pBarriers); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DiscardResource( + ID3D12Resource* pResource, + [NativeTypeName("const D3D12_DISCARD_REGION *")] D3D12_DISCARD_REGION* pRegion + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void>)(lpVtbl[13]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), pResource, pRegion); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void BeginQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[14]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void EndQuery(ID3D12QueryHeap* pQueryHeap, D3D12_QUERY_TYPE Type, uint Index) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void>)(lpVtbl[15]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), pQueryHeap, Type, Index); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ResolveQueryData( + ID3D12QueryHeap* pQueryHeap, + D3D12_QUERY_TYPE Type, + uint StartIndex, + uint NumQueries, + ID3D12Resource* pDestinationBuffer, + [NativeTypeName("UINT64")] ulong AlignedDestinationBufferOffset + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void>)(lpVtbl[16]) + )( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + pQueryHeap, + Type, + StartIndex, + NumQueries, + pDestinationBuffer, + AlignedDestinationBufferOffset + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void SetPredication( + ID3D12Resource* pBuffer, + [NativeTypeName("UINT64")] ulong AlignedBufferOffset, + D3D12_PREDICATION_OP Operation + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void>)(lpVtbl[17]) + )( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + pBuffer, + AlignedBufferOffset, + Operation + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void SetMarker(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[18] + ) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void BeginEvent(uint Metadata, [NativeTypeName("const void *")] void* pData, uint Size) + { + ( + (delegate* unmanaged)( + lpVtbl[19] + ) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), Metadata, pData, Size); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void EndEvent() + { + ((delegate* unmanaged)(lpVtbl[20]))( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void ProcessFrames( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void>)(lpVtbl[21]) + )( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + pVideoProcessor, + pOutputArguments, + NumInputStreams, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void WriteBufferImmediate( + uint Count, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *")] + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER* pParams, + [NativeTypeName("const D3D12_WRITEBUFFERIMMEDIATE_MODE *")] + D3D12_WRITEBUFFERIMMEDIATE_MODE* pModes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void>)(lpVtbl[22]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), Count, pParams, pModes); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void ProcessFrames1( + ID3D12VideoProcessor* pVideoProcessor, + [NativeTypeName("const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *")] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS* pOutputArguments, + uint NumInputStreams, + [NativeTypeName("const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *")] + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1* pInputArguments + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1*, + void>)(lpVtbl[23]) + )( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + pVideoProcessor, + pOutputArguments, + NumInputStreams, + pInputArguments + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetProtectedResourceSession( + ID3D12ProtectedResourceSession* pProtectedResourceSession + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12ProtectedResourceSession*, + void>)(lpVtbl[24]) + )((ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), pProtectedResourceSession); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void InitializeExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pInitializationParameters, + [NativeTypeName("SIZE_T")] nuint InitializationParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[25]) + )( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pInitializationParameters, + InitializationParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ExecuteExtensionCommand( + ID3D12VideoExtensionCommand* pExtensionCommand, + [NativeTypeName("const void *")] void* pExecutionParameters, + [NativeTypeName("SIZE_T")] nuint ExecutionParametersSizeInBytes + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void>)(lpVtbl[26]) + )( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + pExtensionCommand, + pExecutionParameters, + ExecutionParametersSizeInBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ) + { + ( + (delegate* unmanaged< + ID3D12VideoProcessCommandList3*, + uint, + D3D12_BARRIER_GROUP*, + void>)(lpVtbl[27]) + )( + (ID3D12VideoProcessCommandList3*)Unsafe.AsPointer(ref this), + NumBarrierGroups, + pBarrierGroups + ); + } + + public interface Interface : ID3D12VideoProcessCommandList2.Interface + { + [VtblIndex(27)] + void Barrier( + [NativeTypeName("UINT32")] uint NumBarrierGroups, + [NativeTypeName("const D3D12_BARRIER_GROUP *")] D3D12_BARRIER_GROUP* pBarrierGroups + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("D3D12_COMMAND_LIST_TYPE () __attribute__((stdcall))")] + public new delegate* unmanaged GetType; + + [NativeTypeName("HRESULT () __attribute__((stdcall))")] + public delegate* unmanaged Close; + + [NativeTypeName("HRESULT (ID3D12CommandAllocator *) __attribute__((stdcall))")] + public delegate* unmanaged Reset; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged ClearState; + + [NativeTypeName("void (UINT, const D3D12_RESOURCE_BARRIER *) __attribute__((stdcall))")] + public delegate* unmanaged ResourceBarrier; + + [NativeTypeName( + "void (ID3D12Resource *, const D3D12_DISCARD_REGION *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + D3D12_DISCARD_REGION*, + void> DiscardResource; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + void> BeginQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT) __attribute__((stdcall))" + )] + public delegate* unmanaged EndQuery; + + [NativeTypeName( + "void (ID3D12QueryHeap *, D3D12_QUERY_TYPE, UINT, UINT, ID3D12Resource *, UINT64) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12QueryHeap*, + D3D12_QUERY_TYPE, + uint, + uint, + ID3D12Resource*, + ulong, + void> ResolveQueryData; + + [NativeTypeName( + "void (ID3D12Resource *, UINT64, D3D12_PREDICATION_OP) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Resource*, + ulong, + D3D12_PREDICATION_OP, + void> SetPredication; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged SetMarker; + + [NativeTypeName("void (UINT, const void *, UINT) __attribute__((stdcall))")] + public delegate* unmanaged BeginEvent; + + [NativeTypeName("void () __attribute__((stdcall))")] + public delegate* unmanaged EndEvent; + + [NativeTypeName( + "void (ID3D12VideoProcessor *, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS*, + void> ProcessFrames; + + [NativeTypeName( + "void (UINT, const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *, const D3D12_WRITEBUFFERIMMEDIATE_MODE *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_WRITEBUFFERIMMEDIATE_PARAMETER*, + D3D12_WRITEBUFFERIMMEDIATE_MODE*, + void> WriteBufferImmediate; + + [NativeTypeName( + "void (ID3D12VideoProcessor *, const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS *, UINT, const D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1 *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1*, + void> ProcessFrames1; + + [NativeTypeName("void (ID3D12ProtectedResourceSession *) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + ID3D12ProtectedResourceSession*, + void> SetProtectedResourceSession; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> InitializeExtensionCommand; + + [NativeTypeName( + "void (ID3D12VideoExtensionCommand *, const void *, SIZE_T) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12VideoExtensionCommand*, + void*, + nuint, + void> ExecuteExtensionCommand; + + [NativeTypeName("void (UINT32, const D3D12_BARRIER_GROUP *) __attribute__((stdcall))")] + public delegate* unmanaged Barrier; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor.gen.cs new file mode 100644 index 0000000000..0679828366 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor.gen.cs @@ -0,0 +1,261 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("304FDB32-BEDE-410A-8545-943AC6A46138")] +[NativeTypeName("struct ID3D12VideoProcessor : ID3D12Pageable")] +[NativeInheritance("ID3D12Pageable")] +public unsafe partial struct ID3D12VideoProcessor : ID3D12VideoProcessor.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoProcessor)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public uint GetNodeMask() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public uint GetNumInputStreamDescs() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT GetInputStreamDescs( + uint NumInputStreamDescs, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoProcessor*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + int>)(lpVtbl[10]) + )( + (ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), + NumInputStreamDescs, + pInputStreamDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC GetOutputStreamDesc() + { + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoProcessor*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*>)(lpVtbl[11]) + )((ID3D12VideoProcessor*)Unsafe.AsPointer(ref this), &result); + } + + public interface Interface : ID3D12Pageable.Interface + { + [VtblIndex(8)] + uint GetNodeMask(); + + [VtblIndex(9)] + uint GetNumInputStreamDescs(); + + [VtblIndex(10)] + HRESULT GetInputStreamDescs( + uint NumInputStreamDescs, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs + ); + + [VtblIndex(11)] + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC GetOutputStreamDesc(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeMask; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNumInputStreamDescs; + + [NativeTypeName( + "HRESULT (UINT, D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + int> GetInputStreamDescs; + + [NativeTypeName("D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*> GetOutputStreamDesc; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor1.gen.cs b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor1.gen.cs new file mode 100644 index 0000000000..dffe94bb20 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor1.gen.cs @@ -0,0 +1,271 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("F3CFE615-553F-425C-86D8-EE8C1B1FB01C")] +[NativeTypeName("struct ID3D12VideoProcessor1 : ID3D12VideoProcessor")] +[NativeInheritance("ID3D12VideoProcessor")] +public unsafe partial struct ID3D12VideoProcessor1 : ID3D12VideoProcessor1.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12VideoProcessor1)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint* pDataSize, + void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + guid, + pDataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT SetPrivateData( + [NativeTypeName("const GUID &")] Guid* guid, + uint DataSize, + [NativeTypeName("const void *")] void* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + guid, + DataSize, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HRESULT SetPrivateDataInterface( + [NativeTypeName("const GUID &")] Guid* guid, + [NativeTypeName("const IUnknown *")] IUnknown* pData + ) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + guid, + pData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT SetName([NativeTypeName("LPCWSTR")] ushort* Name) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + Name + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetDevice([NativeTypeName("const IID &")] Guid* riid, void** ppvDevice) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + riid, + ppvDevice + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public uint GetNodeMask() + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public uint GetNumInputStreamDescs() + { + return ((delegate* unmanaged)(lpVtbl[9]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HRESULT GetInputStreamDescs( + uint NumInputStreamDescs, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC* pInputStreamDescs + ) + { + return ( + (delegate* unmanaged< + ID3D12VideoProcessor1*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + int>)(lpVtbl[10]) + )( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + NumInputStreamDescs, + pInputStreamDescs + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC GetOutputStreamDesc() + { + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC result; + return *( + (delegate* unmanaged< + ID3D12VideoProcessor1*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*>)(lpVtbl[11]) + )((ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), &result); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ) + { + return ((delegate* unmanaged)(lpVtbl[12]))( + (ID3D12VideoProcessor1*)Unsafe.AsPointer(ref this), + riid, + ppProtectedSession + ); + } + + public interface Interface : ID3D12VideoProcessor.Interface + { + [VtblIndex(12)] + HRESULT GetProtectedResourceSession( + [NativeTypeName("const IID &")] Guid* riid, + void** ppProtectedSession + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (const GUID &, UINT *, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, UINT, const void *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateData; + + [NativeTypeName("HRESULT (const GUID &, const IUnknown *) __attribute__((stdcall))")] + public delegate* unmanaged SetPrivateDataInterface; + + [NativeTypeName("HRESULT (LPCWSTR) __attribute__((stdcall))")] + public delegate* unmanaged SetName; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetDevice; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNodeMask; + + [NativeTypeName("UINT () __attribute__((stdcall))")] + public delegate* unmanaged GetNumInputStreamDescs; + + [NativeTypeName( + "HRESULT (UINT, D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC*, + int> GetInputStreamDescs; + + [NativeTypeName("D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC () __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*, + D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC*> GetOutputStreamDesc; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetProtectedResourceSession; + } +} diff --git a/sources/Windows/DirectX/headers/d3d12video/IID.gen.cs b/sources/Windows/DirectX/headers/d3d12video/IID.gen.cs new file mode 100644 index 0000000000..27844b2b4d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3d12video/IID.gen.cs @@ -0,0 +1,336 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecoderHeap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xC9, 0xB7, 0x46, 0x09, 0xF6, 0xEB, 0x47, 0x40, 0xBB, 0x73, 0x86, 0x83, 0xE2, 0x7D, 0xBB, 0x1F]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDevice + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x07, 0x28, 0x05, 0x1F, 0x46, 0x0B, 0xCC, 0x4A, 0x8A, 0x89, 0x36, 0x4F, 0x79, 0x37, 0x18, 0xA4]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecoder + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xDC, 0x6B, 0x9B, 0xC5, 0x20, 0x77, 0x74, 0x40, 0xA1, 0x36, 0x17, 0xA1, 0x56, 0x03, 0x74, 0x70]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoProcessor + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x32, 0xDB, 0x4F, 0x30, 0xDE, 0xBE, 0x0A, 0x41, 0x85, 0x45, 0x94, 0x3A, 0xC6, 0xA4, 0x61, 0x38]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecodeCommandList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x6E, 0x53, 0x60, 0x3B, 0x29, 0xAD, 0x64, 0x4E, 0xA2, 0x69, 0xF8, 0x53, 0x83, 0x7E, 0x5E, 0x53]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoProcessCommandList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x3A, 0x54, 0xB2, 0xAE, 0x7F, 0x16, 0x82, 0x46, 0xAC, 0xC8, 0xD1, 0x59, 0xED, 0x4A, 0x62, 0x09]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecodeCommandList1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x1B, 0x01, 0x2F, 0xD5, 0x6E, 0xB5, 0x3C, 0x45, 0xA0, 0x5A, 0xA7, 0xF3, 0x11, 0xC8, 0xF4, 0x72]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoProcessCommandList1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x4D, 0x5C, 0x2C, 0x54, 0x96, 0x75, 0x4F, 0x43, 0x8C, 0x93, 0x4E, 0xFA, 0x67, 0x66, 0xF2, 0x67]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoMotionEstimator + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x0E, 0xAE, 0xFD, 0x33, 0x8B, 0x09, 0x8F, 0x42, 0x87, 0xBB, 0x34, 0xB6, 0x95, 0xDE, 0x08, 0xF8]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoMotionVectorHeap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x87, 0x79, 0xE1, 0x5B, 0x3A, 0x74, 0x61, 0x40, 0x83, 0x4B, 0x23, 0xD2, 0x2D, 0xAE, 0xA5, 0x05]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDevice1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xAD, 0x11, 0x16, 0x98, 0x44, 0xA1, 0x83, 0x4C, 0x98, 0x90, 0xF3, 0x0E, 0x26, 0xD6, 0x58, 0xAB]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoEncodeCommandList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x3A, 0x29, 0x55, 0x84, 0xBD, 0x0C, 0x31, 0x48, 0x9B, 0x39, 0xFB, 0xDB, 0xAB, 0x72, 0x47, 0x23]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecoder1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xFB, 0xE5, 0xA2, 0x79, 0xD2, 0xCC, 0x9A, 0x46, 0x9F, 0xDE, 0x19, 0x5D, 0x10, 0x95, 0x1F, 0x7E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecoderHeap1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xC5, 0x98, 0x1D, 0xDA, 0x9F, 0x53, 0xB2, 0x41, 0xBF, 0x6B, 0x11, 0x98, 0xA0, 0x3B, 0x6D, 0x26]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoProcessor1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x15, 0xE6, 0xCF, 0xF3, 0x3F, 0x55, 0x5C, 0x42, 0x86, 0xD8, 0xEE, 0x8C, 0x1B, 0x1F, 0xB0, 0x1C]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoExtensionCommand + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xE8, 0x41, 0x4E, 0x55, 0x8E, 0xAE, 0x8C, 0x4A, 0xB7, 0xD2, 0x5B, 0x4F, 0x27, 0x4A, 0x30, 0xE4]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDevice2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x49, 0xAC, 0x19, 0xF0, 0x38, 0xF8, 0x95, 0x4A, 0x9B, 0x17, 0x57, 0x94, 0x37, 0xC8, 0xF5, 0x13]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecodeCommandList2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x80, 0x08, 0x12, 0x6E, 0x14, 0xC1, 0x53, 0x41, 0x80, 0x36, 0xD2, 0x47, 0x05, 0x1E, 0x17, 0x29]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDecodeCommandList3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x37, 0x8C, 0xEE, 0x2A, 0x62, 0x95, 0xDA, 0x42, 0x8A, 0xBF, 0x61, 0xEF, 0xEB, 0x2E, 0x45, 0x13]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoProcessCommandList2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xE4, 0x5A, 0x52, 0xDB, 0xD6, 0x6A, 0x3C, 0x47, 0xBA, 0xA7, 0x59, 0xB2, 0xE3, 0x70, 0x82, 0xE4]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoProcessCommandList3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xA4, 0x4C, 0x0A, 0x1A, 0x08, 0x9F, 0xCE, 0x40, 0x95, 0x58, 0xB4, 0x11, 0xFD, 0x26, 0x66, 0xFF]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoEncodeCommandList1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xCA, 0x1E, 0x97, 0x94, 0xDB, 0x2B, 0x69, 0x47, 0x88, 0xCF, 0x36, 0x75, 0xEA, 0x75, 0x7E, 0xBC]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoEncoder + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x2D, 0x21, 0x0D, 0x2E, 0xF9, 0x8D, 0xA6, 0x44, 0xA7, 0x70, 0xBB, 0x28, 0x9B, 0x18, 0x27, 0x37]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoEncoderHeap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x96, 0x5D, 0xB3, 0x22, 0x6A, 0x87, 0xC0, 0x44, 0xB2, 0x5E, 0xFB, 0x8C, 0x9C, 0x7F, 0x1C, 0x4A]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoDevice3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xB4, 0xAD, 0x43, 0x42, 0x32, 0x3A, 0x66, 0x46, 0x97, 0x3C, 0x0C, 0xCC, 0x56, 0x25, 0xDC, 0x44]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoEncodeCommandList2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xE2, 0x91, 0x54, 0x89, 0x01, 0xE7, 0xA9, 0x46, 0x9A, 0x1F, 0x8D, 0x34, 0x80, 0xED, 0x86, 0x7A]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12VideoEncodeCommandList3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x22, 0x7B, 0x02, 0x7F, 0x15, 0x15, 0x85, 0x4E, 0xAA, 0x0D, 0x02, 0x64, 0x86, 0x58, 0x05, 0x76]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D.gen.cs new file mode 100644 index 0000000000..67a5d7968e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D.gen.cs @@ -0,0 +1,136 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static partial class D3D +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D_TEXTURE_LAYOUT_ROW_MAJOR + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x4F, 0x23, 0xDC, 0xB5, 0xBB, 0x72, 0xEC, 0x4B, 0x97, 0x05, 0x8C, 0xF2, 0x58, 0xDF, 0x6B, 0x6C]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xE3, 0x29, 0x0F, 0x4C, 0x5F, 0x3F, 0x35, 0x4D, 0x84, 0xC9, 0xBC, 0x09, 0x83, 0xB6, 0x2C, 0x28]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048")] + public const int D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION = 2048; + [NativeTypeName("#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096")] + public const int D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION = 4096; + [NativeTypeName("#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048")] + public const int D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION = 2048; + [NativeTypeName("#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096")] + public const int D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION = 4096; + [NativeTypeName("#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512")] + public const int D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION = 512; + [NativeTypeName("#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096")] + public const int D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION = 4096; + [NativeTypeName("#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256")] + public const int D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 256; + [NativeTypeName("#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2")] + public const int D3D_FL9_1_DEFAULT_MAX_ANISOTROPY = 2; + [NativeTypeName("#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535")] + public const int D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT = 65535; + [NativeTypeName("#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575")] + public const int D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT = 1048575; + [NativeTypeName("#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1")] + public const int D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT = 1; + [NativeTypeName("#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4")] + public const int D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT = 4; + [NativeTypeName("#define D3D_FL9_1_MAX_TEXTURE_REPEAT 128")] + public const int D3D_FL9_1_MAX_TEXTURE_REPEAT = 128; + [NativeTypeName("#define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048")] + public const int D3D_FL9_2_MAX_TEXTURE_REPEAT = 2048; + [NativeTypeName("#define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192")] + public const int D3D_FL9_3_MAX_TEXTURE_REPEAT = 8192; + [NativeTypeName("#define D3D_SHADER_FEATURE_DOUBLES 0x00001")] + public const int D3D_SHADER_FEATURE_DOUBLES = 0x00001; + [NativeTypeName("#define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002")] + public const int D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X = 0x00002; + [NativeTypeName("#define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004")] + public const int D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE = 0x00004; + [NativeTypeName("#define D3D_SHADER_FEATURE_64_UAVS 0x00008")] + public const int D3D_SHADER_FEATURE_64_UAVS = 0x00008; + [NativeTypeName("#define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010")] + public const int D3D_SHADER_FEATURE_MINIMUM_PRECISION = 0x00010; + [NativeTypeName("#define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020")] + public const int D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS = 0x00020; + [NativeTypeName("#define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040")] + public const int D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS = 0x00040; + [NativeTypeName("#define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080")] + public const int D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING = 0x00080; + [NativeTypeName("#define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100")] + public const int D3D_SHADER_FEATURE_TILED_RESOURCES = 0x00100; + [NativeTypeName("#define D3D_SHADER_FEATURE_STENCIL_REF 0x00200")] + public const int D3D_SHADER_FEATURE_STENCIL_REF = 0x00200; + [NativeTypeName("#define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400")] + public const int D3D_SHADER_FEATURE_INNER_COVERAGE = 0x00400; + [NativeTypeName("#define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800")] + public const int D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS = 0x00800; + [NativeTypeName("#define D3D_SHADER_FEATURE_ROVS 0x01000")] + public const int D3D_SHADER_FEATURE_ROVS = 0x01000; + [NativeTypeName("#define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000")] + public const int D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER = 0x02000; + [NativeTypeName("#define D3D_SHADER_FEATURE_WAVE_OPS 0x04000")] + public const int D3D_SHADER_FEATURE_WAVE_OPS = 0x04000; + [NativeTypeName("#define D3D_SHADER_FEATURE_INT64_OPS 0x08000")] + public const int D3D_SHADER_FEATURE_INT64_OPS = 0x08000; + [NativeTypeName("#define D3D_SHADER_FEATURE_VIEW_ID 0x10000")] + public const int D3D_SHADER_FEATURE_VIEW_ID = 0x10000; + [NativeTypeName("#define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000")] + public const int D3D_SHADER_FEATURE_BARYCENTRICS = 0x20000; + [NativeTypeName("#define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000")] + public const int D3D_SHADER_FEATURE_NATIVE_16BIT_OPS = 0x40000; + [NativeTypeName("#define D3D_SHADER_FEATURE_SHADING_RATE 0x80000")] + public const int D3D_SHADER_FEATURE_SHADING_RATE = 0x80000; + [NativeTypeName("#define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000")] + public const int D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 = 0x100000; + [NativeTypeName("#define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000")] + public const int D3D_SHADER_FEATURE_SAMPLER_FEEDBACK = 0x200000; + [NativeTypeName("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000")] + public const int D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE = 0x400000; + [NativeTypeName("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000")] + public const int D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED = 0x800000; + [NativeTypeName("#define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000")] + public const int D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS = 0x1000000; + [NativeTypeName("#define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000")] + public const int D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING = 0x2000000; + [NativeTypeName("#define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000")] + public const int D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING = 0x4000000; + [NativeTypeName("#define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000")] + public const int D3D_SHADER_FEATURE_WAVE_MMA = 0x8000000; + [NativeTypeName("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000")] + public const int D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE = 0x10000000; + [NativeTypeName("#define D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS 0x20000000")] + public const int D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS = 0x20000000; + [NativeTypeName("#define D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES 0x40000000")] + public const int D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES = 0x40000000; + [NativeTypeName("#define D3D_COMPONENT_MASK_X 1")] + public const int D3D_COMPONENT_MASK_X = 1; + [NativeTypeName("#define D3D_COMPONENT_MASK_Y 2")] + public const int D3D_COMPONENT_MASK_Y = 2; + [NativeTypeName("#define D3D_COMPONENT_MASK_Z 4")] + public const int D3D_COMPONENT_MASK_Z = 4; + [NativeTypeName("#define D3D_COMPONENT_MASK_W 8")] + public const int D3D_COMPONENT_MASK_W = 8; +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_CBUFFER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_CBUFFER_TYPE.gen.cs new file mode 100644 index 0000000000..4970aa4e14 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_CBUFFER_TYPE.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_CBUFFER_TYPE +{ + /// + + D3D_CT_CBUFFER = 0, + + /// + + D3D_CT_TBUFFER = (D3D_CT_CBUFFER + 1), + + /// + + D3D_CT_INTERFACE_POINTERS = (D3D_CT_TBUFFER + 1), + + /// + + D3D_CT_RESOURCE_BIND_INFO = (D3D_CT_INTERFACE_POINTERS + 1), + + /// + + D3D10_CT_CBUFFER = D3D_CT_CBUFFER, + + /// + + D3D10_CT_TBUFFER = D3D_CT_TBUFFER, + + /// + + D3D11_CT_CBUFFER = D3D_CT_CBUFFER, + + /// + + D3D11_CT_TBUFFER = D3D_CT_TBUFFER, + + /// + + D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS, + + /// + + D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_DRIVER_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_DRIVER_TYPE.gen.cs new file mode 100644 index 0000000000..8727a3d02f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_DRIVER_TYPE.gen.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_DRIVER_TYPE +{ + /// + + D3D_DRIVER_TYPE_UNKNOWN = 0, + + /// + + D3D_DRIVER_TYPE_HARDWARE = (D3D_DRIVER_TYPE_UNKNOWN + 1), + + /// + + D3D_DRIVER_TYPE_REFERENCE = (D3D_DRIVER_TYPE_HARDWARE + 1), + + /// + + D3D_DRIVER_TYPE_NULL = (D3D_DRIVER_TYPE_REFERENCE + 1), + + /// + + D3D_DRIVER_TYPE_SOFTWARE = (D3D_DRIVER_TYPE_NULL + 1), + + /// + + D3D_DRIVER_TYPE_WARP = (D3D_DRIVER_TYPE_SOFTWARE + 1), +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_FEATURE_LEVEL.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_FEATURE_LEVEL.gen.cs new file mode 100644 index 0000000000..e35528d59d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_FEATURE_LEVEL.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_FEATURE_LEVEL +{ + /// + + D3D_FEATURE_LEVEL_1_0_CORE = 0x1000, + + /// + + D3D_FEATURE_LEVEL_9_1 = 0x9100, + + /// + + D3D_FEATURE_LEVEL_9_2 = 0x9200, + + /// + + D3D_FEATURE_LEVEL_9_3 = 0x9300, + + /// + + D3D_FEATURE_LEVEL_10_0 = 0xa000, + + /// + + D3D_FEATURE_LEVEL_10_1 = 0xa100, + + /// + + D3D_FEATURE_LEVEL_11_0 = 0xb000, + + /// + + D3D_FEATURE_LEVEL_11_1 = 0xb100, + + /// + + D3D_FEATURE_LEVEL_12_0 = 0xc000, + + /// + + D3D_FEATURE_LEVEL_12_1 = 0xc100, + + /// + + D3D_FEATURE_LEVEL_12_2 = 0xc200, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_COMPONENT_INTERPRETATION.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_COMPONENT_INTERPRETATION.gen.cs new file mode 100644 index 0000000000..09914308d1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_COMPONENT_INTERPRETATION.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_FORMAT_COMPONENT_INTERPRETATION +{ + /// + + D3DFCI_TYPELESS = 0, + + /// + + D3DFCI_FLOAT = -4, + + /// + + D3DFCI_SNORM = -3, + + /// + + D3DFCI_UNORM = -2, + + /// + + D3DFCI_SINT = -1, + + /// + + D3DFCI_UINT = 1, + + /// + + D3DFCI_UNORM_SRGB = 2, + + /// + + D3DFCI_BIASED_FIXED_2_8 = 3, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_COMPONENT_NAME.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_COMPONENT_NAME.gen.cs new file mode 100644 index 0000000000..00e0cada7c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_COMPONENT_NAME.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_FORMAT_COMPONENT_NAME +{ + /// + + D3DFCN_R = -4, + + /// + + D3DFCN_G = -3, + + /// + + D3DFCN_B = -2, + + /// + + D3DFCN_A = -1, + + /// + + D3DFCN_D = 0, + + /// + + D3DFCN_S = 1, + + /// + + D3DFCN_X = 2, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_LAYOUT.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_LAYOUT.gen.cs new file mode 100644 index 0000000000..1f0b0679be --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_LAYOUT.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_FORMAT_LAYOUT +{ + /// + + D3DFL_STANDARD = 0, + + /// + + D3DFL_CUSTOM = -1, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_TYPE_LEVEL.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_TYPE_LEVEL.gen.cs new file mode 100644 index 0000000000..c1a5793e61 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_FORMAT_TYPE_LEVEL.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_FORMAT_TYPE_LEVEL +{ + /// + + D3DFTL_NO_TYPE = 0, + + /// + + D3DFTL_PARTIAL_TYPE = -2, + + /// + + D3DFTL_FULL_TYPE = -1, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_INCLUDE_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_INCLUDE_TYPE.gen.cs new file mode 100644 index 0000000000..483af3405f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_INCLUDE_TYPE.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_INCLUDE_TYPE +{ + /// + + D3D_INCLUDE_LOCAL = 0, + + /// + + D3D_INCLUDE_SYSTEM = (D3D_INCLUDE_LOCAL + 1), + + /// + + D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL, + + /// + + D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM, + + /// + + D3D_INCLUDE_FORCE_DWORD = 0x7fffffff, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_INTERPOLATION_MODE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_INTERPOLATION_MODE.gen.cs new file mode 100644 index 0000000000..e98e723093 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_INTERPOLATION_MODE.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_INTERPOLATION_MODE +{ + /// + + D3D_INTERPOLATION_UNDEFINED = 0, + + /// + + D3D_INTERPOLATION_CONSTANT = 1, + + /// + + D3D_INTERPOLATION_LINEAR = 2, + + /// + + D3D_INTERPOLATION_LINEAR_CENTROID = 3, + + /// + + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, + + /// + + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, + + /// + + D3D_INTERPOLATION_LINEAR_SAMPLE = 6, + + /// + + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_MIN_PRECISION.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_MIN_PRECISION.gen.cs new file mode 100644 index 0000000000..98f2559451 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_MIN_PRECISION.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_MIN_PRECISION +{ + /// + + D3D_MIN_PRECISION_DEFAULT = 0, + + /// + + D3D_MIN_PRECISION_FLOAT_16 = 1, + + /// + + D3D_MIN_PRECISION_FLOAT_2_8 = 2, + + /// + + D3D_MIN_PRECISION_RESERVED = 3, + + /// + + D3D_MIN_PRECISION_SINT_16 = 4, + + /// + + D3D_MIN_PRECISION_UINT_16 = 5, + + /// + + D3D_MIN_PRECISION_ANY_16 = 0xf0, + + /// + + D3D_MIN_PRECISION_ANY_10 = 0xf1, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_NAME.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_NAME.gen.cs new file mode 100644 index 0000000000..bd7ec645cc --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_NAME.gen.cs @@ -0,0 +1,224 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_NAME +{ + /// + + D3D_NAME_UNDEFINED = 0, + + /// + + D3D_NAME_POSITION = 1, + + /// + + D3D_NAME_CLIP_DISTANCE = 2, + + /// + + D3D_NAME_CULL_DISTANCE = 3, + + /// + + D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4, + + /// + + D3D_NAME_VIEWPORT_ARRAY_INDEX = 5, + + /// + + D3D_NAME_VERTEX_ID = 6, + + /// + + D3D_NAME_PRIMITIVE_ID = 7, + + /// + + D3D_NAME_INSTANCE_ID = 8, + + /// + + D3D_NAME_IS_FRONT_FACE = 9, + + /// + + D3D_NAME_SAMPLE_INDEX = 10, + + /// + + D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, + + /// + + D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, + + /// + + D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, + + /// + + D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, + + /// + + D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, + + /// + + D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, + + /// + + D3D_NAME_BARYCENTRICS = 23, + + /// + + D3D_NAME_SHADINGRATE = 24, + + /// + + D3D_NAME_CULLPRIMITIVE = 25, + + /// + + D3D_NAME_TARGET = 64, + + /// + + D3D_NAME_DEPTH = 65, + + /// + + D3D_NAME_COVERAGE = 66, + + /// + + D3D_NAME_DEPTH_GREATER_EQUAL = 67, + + /// + + D3D_NAME_DEPTH_LESS_EQUAL = 68, + + /// + + D3D_NAME_STENCIL_REF = 69, + + /// + + D3D_NAME_INNER_COVERAGE = 70, + + /// + + D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED, + + /// + + D3D10_NAME_POSITION = D3D_NAME_POSITION, + + /// + + D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE, + + /// + + D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE, + + /// + + D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX, + + /// + + D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX, + + /// + + D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID, + + /// + + D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID, + + /// + + D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID, + + /// + + D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE, + + /// + + D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX, + + /// + + D3D10_NAME_TARGET = D3D_NAME_TARGET, + + /// + + D3D10_NAME_DEPTH = D3D_NAME_DEPTH, + + /// + + D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE, + + /// + + D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR, + + /// + + D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR, + + /// + + D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR, + + /// + + D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR, + + /// + + D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR, + + /// + + D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR, + + /// + + D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL, + + /// + + D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL, + + /// + + D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF, + + /// + + D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE, + + /// + + D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS, + + /// + + D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE, + + /// + + D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_PARAMETER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_PARAMETER_FLAGS.gen.cs new file mode 100644 index 0000000000..cfc48ee806 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_PARAMETER_FLAGS.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D_PARAMETER_FLAGS +{ + /// + + D3D_PF_NONE = 0, + + /// + + D3D_PF_IN = 0x1, + + /// + + D3D_PF_OUT = 0x2, + + /// + + D3D_PF_FORCE_DWORD = 0x7fffffff, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_PRIMITIVE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_PRIMITIVE.gen.cs new file mode 100644 index 0000000000..f9fb12235e --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_PRIMITIVE.gen.cs @@ -0,0 +1,336 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_PRIMITIVE +{ + /// + + D3D_PRIMITIVE_UNDEFINED = 0, + + /// + + D3D_PRIMITIVE_POINT = 1, + + /// + + D3D_PRIMITIVE_LINE = 2, + + /// + + D3D_PRIMITIVE_TRIANGLE = 3, + + /// + + D3D_PRIMITIVE_LINE_ADJ = 6, + + /// + + D3D_PRIMITIVE_TRIANGLE_ADJ = 7, + + /// + + D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, + + /// + + D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, + + /// + + D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, + + /// + + D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, + + /// + + D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, + + /// + + D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, + + /// + + D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, + + /// + + D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, + + /// + + D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, + + /// + + D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, + + /// + + D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, + + /// + + D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, + + /// + + D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, + + /// + + D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, + + /// + + D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, + + /// + + D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, + + /// + + D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, + + /// + + D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, + + /// + + D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, + + /// + + D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, + + /// + + D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, + + /// + + D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, + + /// + + D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, + + /// + + D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, + + /// + + D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, + + /// + + D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, + + /// + + D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, + + /// + + D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, + + /// + + D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, + + /// + + D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, + + /// + + D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, + + /// + + D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, + + /// + + D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, + + /// + + D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, + + /// + + D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, + + /// + + D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, + + /// + + D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, + + /// + + D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, + + /// + + D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, + + /// + + D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, + + /// + + D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, + + /// + + D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, + + /// + + D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, + + /// + + D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, + + /// + + D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH, + + /// + + D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_PRIMITIVE_TOPOLOGY.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_PRIMITIVE_TOPOLOGY.gen.cs new file mode 100644 index 0000000000..ad0677fe9d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_PRIMITIVE_TOPOLOGY.gen.cs @@ -0,0 +1,420 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_PRIMITIVE_TOPOLOGY +{ + /// + + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, + + /// + + D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, + + /// + + D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, + + /// + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, + + /// + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, + + /// + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, + + /// + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN = 6, + + /// + + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, + + /// + + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, + + /// + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, + + /// + + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, + + /// + + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, + + /// + + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, + + /// + + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, + + /// + + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, + + /// + + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, + + /// + + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, + + /// + + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, + + /// + + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, + + /// + + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, + + /// + + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, + + /// + + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, + + /// + + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, + + /// + + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, + + /// + + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, + + /// + + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, + + /// + + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, + + /// + + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, + + /// + + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, + + /// + + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, + + /// + + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, + + /// + + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, + + /// + + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, + + /// + + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, + + /// + + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, + + /// + + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, + + /// + + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, + + /// + + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, + + /// + + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, + + /// + + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, + + /// + + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, + + /// + + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, + + /// + + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, + + /// + + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST, + + /// + + D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_REGISTER_COMPONENT_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_REGISTER_COMPONENT_TYPE.gen.cs new file mode 100644 index 0000000000..6a2f954651 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_REGISTER_COMPONENT_TYPE.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_REGISTER_COMPONENT_TYPE +{ + /// + + D3D_REGISTER_COMPONENT_UNKNOWN = 0, + + /// + + D3D_REGISTER_COMPONENT_UINT32 = 1, + + /// + + D3D_REGISTER_COMPONENT_SINT32 = 2, + + /// + + D3D_REGISTER_COMPONENT_FLOAT32 = 3, + + /// + + D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN, + + /// + + D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32, + + /// + + D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32, + + /// + + D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_RESOURCE_RETURN_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_RESOURCE_RETURN_TYPE.gen.cs new file mode 100644 index 0000000000..21330dad9f --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_RESOURCE_RETURN_TYPE.gen.cs @@ -0,0 +1,96 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_RESOURCE_RETURN_TYPE +{ + /// + + D3D_RETURN_TYPE_UNORM = 1, + + /// + + D3D_RETURN_TYPE_SNORM = 2, + + /// + + D3D_RETURN_TYPE_SINT = 3, + + /// + + D3D_RETURN_TYPE_UINT = 4, + + /// + + D3D_RETURN_TYPE_FLOAT = 5, + + /// + + D3D_RETURN_TYPE_MIXED = 6, + + /// + + D3D_RETURN_TYPE_DOUBLE = 7, + + /// + + D3D_RETURN_TYPE_CONTINUED = 8, + + /// + + D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, + + /// + + D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, + + /// + + D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, + + /// + + D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, + + /// + + D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, + + /// + + D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, + + /// + + D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, + + /// + + D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, + + /// + + D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, + + /// + + D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, + + /// + + D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, + + /// + + D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, + + /// + + D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE, + + /// + + D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_CBUFFER_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_CBUFFER_FLAGS.gen.cs new file mode 100644 index 0000000000..3ee6ecd32d --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_CBUFFER_FLAGS.gen.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D_SHADER_CBUFFER_FLAGS +{ + /// + + D3D_CBF_USERPACKED = 1, + + /// + + D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED, + + /// + + D3D_CBF_FORCE_DWORD = 0x7fffffff, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_INPUT_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_INPUT_FLAGS.gen.cs new file mode 100644 index 0000000000..34526113b9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_INPUT_FLAGS.gen.cs @@ -0,0 +1,59 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D_SHADER_INPUT_FLAGS +{ + /// + + D3D_SIF_USERPACKED = 0x1, + + /// + + D3D_SIF_COMPARISON_SAMPLER = 0x2, + + /// + + D3D_SIF_TEXTURE_COMPONENT_0 = 0x4, + + /// + + D3D_SIF_TEXTURE_COMPONENT_1 = 0x8, + + /// + + D3D_SIF_TEXTURE_COMPONENTS = 0xc, + + /// + + D3D_SIF_UNUSED = 0x10, + + /// + + D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED, + + /// + + D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER, + + /// + + D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0, + + /// + + D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1, + + /// + + D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS, + + /// + + D3D_SIF_FORCE_DWORD = 0x7fffffff, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_INPUT_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_INPUT_TYPE.gen.cs new file mode 100644 index 0000000000..21d05ee191 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_INPUT_TYPE.gen.cs @@ -0,0 +1,112 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_SHADER_INPUT_TYPE +{ + /// + + D3D_SIT_CBUFFER = 0, + + /// + + D3D_SIT_TBUFFER = (D3D_SIT_CBUFFER + 1), + + /// + + D3D_SIT_TEXTURE = (D3D_SIT_TBUFFER + 1), + + /// + + D3D_SIT_SAMPLER = (D3D_SIT_TEXTURE + 1), + + /// + + D3D_SIT_UAV_RWTYPED = (D3D_SIT_SAMPLER + 1), + + /// + + D3D_SIT_STRUCTURED = (D3D_SIT_UAV_RWTYPED + 1), + + /// + + D3D_SIT_UAV_RWSTRUCTURED = (D3D_SIT_STRUCTURED + 1), + + /// + + D3D_SIT_BYTEADDRESS = (D3D_SIT_UAV_RWSTRUCTURED + 1), + + /// + + D3D_SIT_UAV_RWBYTEADDRESS = (D3D_SIT_BYTEADDRESS + 1), + + /// + + D3D_SIT_UAV_APPEND_STRUCTURED = (D3D_SIT_UAV_RWBYTEADDRESS + 1), + + /// + + D3D_SIT_UAV_CONSUME_STRUCTURED = (D3D_SIT_UAV_APPEND_STRUCTURED + 1), + + /// + + D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = (D3D_SIT_UAV_CONSUME_STRUCTURED + 1), + + /// + + D3D_SIT_RTACCELERATIONSTRUCTURE = (D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER + 1), + + /// + + D3D_SIT_UAV_FEEDBACKTEXTURE = (D3D_SIT_RTACCELERATIONSTRUCTURE + 1), + + /// + + D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER, + + /// + + D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER, + + /// + + D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE, + + /// + + D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER, + + /// + + D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED, + + /// + + D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED, + + /// + + D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED, + + /// + + D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS, + + /// + + D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS, + + /// + + D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED, + + /// + + D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED, + + /// + + D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_MACRO.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_MACRO.gen.cs new file mode 100644 index 0000000000..8681a5fedf --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_MACRO.gen.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3D_SHADER_MACRO +{ + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Name; + + /// + + [NativeTypeName("LPCSTR")] + public sbyte* Definition; +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_CLASS.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_CLASS.gen.cs new file mode 100644 index 0000000000..45ab52e4c1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_CLASS.gen.cs @@ -0,0 +1,76 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_SHADER_VARIABLE_CLASS +{ + /// + + D3D_SVC_SCALAR = 0, + + /// + + D3D_SVC_VECTOR = (D3D_SVC_SCALAR + 1), + + /// + + D3D_SVC_MATRIX_ROWS = (D3D_SVC_VECTOR + 1), + + /// + + D3D_SVC_MATRIX_COLUMNS = (D3D_SVC_MATRIX_ROWS + 1), + + /// + + D3D_SVC_OBJECT = (D3D_SVC_MATRIX_COLUMNS + 1), + + /// + + D3D_SVC_STRUCT = (D3D_SVC_OBJECT + 1), + + /// + + D3D_SVC_INTERFACE_CLASS = (D3D_SVC_STRUCT + 1), + + /// + + D3D_SVC_INTERFACE_POINTER = (D3D_SVC_INTERFACE_CLASS + 1), + + /// + + D3D10_SVC_SCALAR = D3D_SVC_SCALAR, + + /// + + D3D10_SVC_VECTOR = D3D_SVC_VECTOR, + + /// + + D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS, + + /// + + D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS, + + /// + + D3D10_SVC_OBJECT = D3D_SVC_OBJECT, + + /// + + D3D10_SVC_STRUCT = D3D_SVC_STRUCT, + + /// + + D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS, + + /// + + D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER, + + /// + + D3D_SVC_FORCE_DWORD = 0x7fffffff, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_FLAGS.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_FLAGS.gen.cs new file mode 100644 index 0000000000..55e95656d6 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_FLAGS.gen.cs @@ -0,0 +1,47 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D_SHADER_VARIABLE_FLAGS +{ + /// + + D3D_SVF_USERPACKED = 1, + + /// + + D3D_SVF_USED = 2, + + /// + + D3D_SVF_INTERFACE_POINTER = 4, + + /// + + D3D_SVF_INTERFACE_PARAMETER = 8, + + /// + + D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED, + + /// + + D3D10_SVF_USED = D3D_SVF_USED, + + /// + + D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER, + + /// + + D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER, + + /// + + D3D_SVF_FORCE_DWORD = 0x7fffffff, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_TYPE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_TYPE.gen.cs new file mode 100644 index 0000000000..38b5850eb2 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SHADER_VARIABLE_TYPE.gen.cs @@ -0,0 +1,472 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_SHADER_VARIABLE_TYPE +{ + /// + + D3D_SVT_VOID = 0, + + /// + + D3D_SVT_BOOL = 1, + + /// + + D3D_SVT_INT = 2, + + /// + + D3D_SVT_FLOAT = 3, + + /// + + D3D_SVT_STRING = 4, + + /// + + D3D_SVT_TEXTURE = 5, + + /// + + D3D_SVT_TEXTURE1D = 6, + + /// + + D3D_SVT_TEXTURE2D = 7, + + /// + + D3D_SVT_TEXTURE3D = 8, + + /// + + D3D_SVT_TEXTURECUBE = 9, + + /// + + D3D_SVT_SAMPLER = 10, + + /// + + D3D_SVT_SAMPLER1D = 11, + + /// + + D3D_SVT_SAMPLER2D = 12, + + /// + + D3D_SVT_SAMPLER3D = 13, + + /// + + D3D_SVT_SAMPLERCUBE = 14, + + /// + + D3D_SVT_PIXELSHADER = 15, + + /// + + D3D_SVT_VERTEXSHADER = 16, + + /// + + D3D_SVT_PIXELFRAGMENT = 17, + + /// + + D3D_SVT_VERTEXFRAGMENT = 18, + + /// + + D3D_SVT_UINT = 19, + + /// + + D3D_SVT_UINT8 = 20, + + /// + + D3D_SVT_GEOMETRYSHADER = 21, + + /// + + D3D_SVT_RASTERIZER = 22, + + /// + + D3D_SVT_DEPTHSTENCIL = 23, + + /// + + D3D_SVT_BLEND = 24, + + /// + + D3D_SVT_BUFFER = 25, + + /// + + D3D_SVT_CBUFFER = 26, + + /// + + D3D_SVT_TBUFFER = 27, + + /// + + D3D_SVT_TEXTURE1DARRAY = 28, + + /// + + D3D_SVT_TEXTURE2DARRAY = 29, + + /// + + D3D_SVT_RENDERTARGETVIEW = 30, + + /// + + D3D_SVT_DEPTHSTENCILVIEW = 31, + + /// + + D3D_SVT_TEXTURE2DMS = 32, + + /// + + D3D_SVT_TEXTURE2DMSARRAY = 33, + + /// + + D3D_SVT_TEXTURECUBEARRAY = 34, + + /// + + D3D_SVT_HULLSHADER = 35, + + /// + + D3D_SVT_DOMAINSHADER = 36, + + /// + + D3D_SVT_INTERFACE_POINTER = 37, + + /// + + D3D_SVT_COMPUTESHADER = 38, + + /// + + D3D_SVT_DOUBLE = 39, + + /// + + D3D_SVT_RWTEXTURE1D = 40, + + /// + + D3D_SVT_RWTEXTURE1DARRAY = 41, + + /// + + D3D_SVT_RWTEXTURE2D = 42, + + /// + + D3D_SVT_RWTEXTURE2DARRAY = 43, + + /// + + D3D_SVT_RWTEXTURE3D = 44, + + /// + + D3D_SVT_RWBUFFER = 45, + + /// + + D3D_SVT_BYTEADDRESS_BUFFER = 46, + + /// + + D3D_SVT_RWBYTEADDRESS_BUFFER = 47, + + /// + + D3D_SVT_STRUCTURED_BUFFER = 48, + + /// + + D3D_SVT_RWSTRUCTURED_BUFFER = 49, + + /// + + D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, + + /// + + D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, + + /// + + D3D_SVT_MIN8FLOAT = 52, + + /// + + D3D_SVT_MIN10FLOAT = 53, + + /// + + D3D_SVT_MIN16FLOAT = 54, + + /// + + D3D_SVT_MIN12INT = 55, + + /// + + D3D_SVT_MIN16INT = 56, + + /// + + D3D_SVT_MIN16UINT = 57, + + /// + + D3D_SVT_INT16 = 58, + + /// + + D3D_SVT_UINT16 = 59, + + /// + + D3D_SVT_FLOAT16 = 60, + + /// + + D3D_SVT_INT64 = 61, + + /// + + D3D_SVT_UINT64 = 62, + + /// + + D3D10_SVT_VOID = D3D_SVT_VOID, + + /// + + D3D10_SVT_BOOL = D3D_SVT_BOOL, + + /// + + D3D10_SVT_INT = D3D_SVT_INT, + + /// + + D3D10_SVT_FLOAT = D3D_SVT_FLOAT, + + /// + + D3D10_SVT_STRING = D3D_SVT_STRING, + + /// + + D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE, + + /// + + D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D, + + /// + + D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D, + + /// + + D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D, + + /// + + D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE, + + /// + + D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER, + + /// + + D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D, + + /// + + D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D, + + /// + + D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D, + + /// + + D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE, + + /// + + D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER, + + /// + + D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER, + + /// + + D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT, + + /// + + D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT, + + /// + + D3D10_SVT_UINT = D3D_SVT_UINT, + + /// + + D3D10_SVT_UINT8 = D3D_SVT_UINT8, + + /// + + D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER, + + /// + + D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER, + + /// + + D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL, + + /// + + D3D10_SVT_BLEND = D3D_SVT_BLEND, + + /// + + D3D10_SVT_BUFFER = D3D_SVT_BUFFER, + + /// + + D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER, + + /// + + D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER, + + /// + + D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY, + + /// + + D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY, + + /// + + D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW, + + /// + + D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW, + + /// + + D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS, + + /// + + D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY, + + /// + + D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY, + + /// + + D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER, + + /// + + D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER, + + /// + + D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER, + + /// + + D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER, + + /// + + D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE, + + /// + + D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D, + + /// + + D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY, + + /// + + D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D, + + /// + + D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY, + + /// + + D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D, + + /// + + D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER, + + /// + + D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER, + + /// + + D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER, + + /// + + D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER, + + /// + + D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER, + + /// + + D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER, + + /// + + D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER, + + /// + + D3D_SVT_FORCE_DWORD = 0x7fffffff, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_SRV_DIMENSION.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_SRV_DIMENSION.gen.cs new file mode 100644 index 0000000000..f7c58958c0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_SRV_DIMENSION.gen.cs @@ -0,0 +1,188 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_SRV_DIMENSION +{ + /// + + D3D_SRV_DIMENSION_UNKNOWN = 0, + + /// + + D3D_SRV_DIMENSION_BUFFER = 1, + + /// + + D3D_SRV_DIMENSION_TEXTURE1D = 2, + + /// + + D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3, + + /// + + D3D_SRV_DIMENSION_TEXTURE2D = 4, + + /// + + D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5, + + /// + + D3D_SRV_DIMENSION_TEXTURE2DMS = 6, + + /// + + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, + + /// + + D3D_SRV_DIMENSION_TEXTURE3D = 8, + + /// + + D3D_SRV_DIMENSION_TEXTURECUBE = 9, + + /// + + D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10, + + /// + + D3D_SRV_DIMENSION_BUFFEREX = 11, + + /// + + D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, + + /// + + D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, + + /// + + D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, + + /// + + D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, + + /// + + D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, + + /// + + D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, + + /// + + D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, + + /// + + D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, + + /// + + D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, + + /// + + D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, + + /// + + D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, + + /// + + D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, + + /// + + D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, + + /// + + D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, + + /// + + D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, + + /// + + D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, + + /// + + D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, + + /// + + D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, + + /// + + D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, + + /// + + D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, + + /// + + D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, + + /// + + D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, + + /// + + D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, + + /// + + D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, + + /// + + D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_DOMAIN.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_DOMAIN.gen.cs new file mode 100644 index 0000000000..321efb6b9c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_DOMAIN.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_TESSELLATOR_DOMAIN +{ + /// + + D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0, + + /// + + D3D_TESSELLATOR_DOMAIN_ISOLINE = 1, + + /// + + D3D_TESSELLATOR_DOMAIN_TRI = 2, + + /// + + D3D_TESSELLATOR_DOMAIN_QUAD = 3, + + /// + + D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED, + + /// + + D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE, + + /// + + D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI, + + /// + + D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_OUTPUT_PRIMITIVE.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_OUTPUT_PRIMITIVE.gen.cs new file mode 100644 index 0000000000..7a8915afb9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_OUTPUT_PRIMITIVE.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE +{ + /// + + D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0, + + /// + + D3D_TESSELLATOR_OUTPUT_POINT = 1, + + /// + + D3D_TESSELLATOR_OUTPUT_LINE = 2, + + /// + + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, + + /// + + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, + + /// + + D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED, + + /// + + D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT, + + /// + + D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE, + + /// + + D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW, + + /// + + D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_PARTITIONING.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_PARTITIONING.gen.cs new file mode 100644 index 0000000000..5e5c0e3ba1 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/D3D_TESSELLATOR_PARTITIONING.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum D3D_TESSELLATOR_PARTITIONING +{ + /// + + D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0, + + /// + + D3D_TESSELLATOR_PARTITIONING_INTEGER = 1, + + /// + + D3D_TESSELLATOR_PARTITIONING_POW2 = 2, + + /// + + D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, + + /// + + D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, + + /// + + D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED, + + /// + + D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER, + + /// + + D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2, + + /// + + D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD, + + /// + + D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN, +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/DirectX.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/DirectX.gen.cs new file mode 100644 index 0000000000..07c040cc33 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/DirectX.gen.cs @@ -0,0 +1,59 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static partial class DirectX +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid WKPDID_D3DDebugObjectName + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x22, 0x8C, 0x9B, 0x42, 0x88, 0x91, 0x0C, 0x4B, 0x87, 0x42, 0xAC, 0xB0, 0xBF, 0x85, 0xC2, 0x00]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid WKPDID_D3DDebugObjectNameW + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xD8, 0x5F, 0xCA, 0x4C, 0x1F, 0x92, 0xC8, 0x42, 0x85, 0x66, 0x70, 0xCA, 0xF2, 0xA9, 0xB7, 0x41]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid WKPDID_CommentStringW + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xC0, 0x9D, 0x14, 0xD0, 0xE8, 0x90, 0xC8, 0x4E, 0x81, 0x44, 0xE9, 0x00, 0xAD, 0x26, 0x6B, 0xB2]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid WKPDID_D3D12UniqueObjectId + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x15, 0xDE, 0x39, 0x1B, 0x04, 0xEC, 0xAE, 0x4B, 0xBA, 0x4D, 0x8C, 0xEF, 0x79, 0xFC, 0x04, 0xC1]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3dcommon/ID3DBlob.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/ID3DBlob.gen.cs new file mode 100644 index 0000000000..f26eb379b8 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/ID3DBlob.gen.cs @@ -0,0 +1,112 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("8BA5FB08-5195-40E2-AC58-0D989C3A0102")] +[NativeTypeName("struct ID3D10Blob : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3DBlob : ID3DBlob.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D10Blob)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3DBlob*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3DBlob*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3DBlob*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + [return: NativeTypeName("LPVOID")] + public void* GetBufferPointer() + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (ID3DBlob*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + [return: NativeTypeName("SIZE_T")] + public nuint GetBufferSize() + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3DBlob*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + [return: NativeTypeName("LPVOID")] + void* GetBufferPointer(); + + [VtblIndex(4)] + [return: NativeTypeName("SIZE_T")] + nuint GetBufferSize(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("LPVOID () __attribute__((stdcall))")] + public delegate* unmanaged GetBufferPointer; + + [NativeTypeName("SIZE_T () __attribute__((stdcall))")] + public delegate* unmanaged GetBufferSize; + } +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/ID3DDestructionNotifier.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/ID3DDestructionNotifier.gen.cs new file mode 100644 index 0000000000..2250f89a0c --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/ID3DDestructionNotifier.gen.cs @@ -0,0 +1,124 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("A06EB39A-50DA-425B-8C31-4EECD6C270F3")] +[NativeTypeName("struct ID3DDestructionNotifier : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3DDestructionNotifier + : ID3DDestructionNotifier.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DDestructionNotifier)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3DDestructionNotifier*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3DDestructionNotifier*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3DDestructionNotifier*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT RegisterDestructionCallback( + [NativeTypeName("PFN_DESTRUCTION_CALLBACK")] delegate* unmanaged callbackFn, + void* pData, + uint* pCallbackID + ) + { + return ( + (delegate* unmanaged< + ID3DDestructionNotifier*, + delegate* unmanaged, + void*, + uint*, + int>)(lpVtbl[3]) + )((ID3DDestructionNotifier*)Unsafe.AsPointer(ref this), callbackFn, pData, pCallbackID); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT UnregisterDestructionCallback(uint callbackID) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (ID3DDestructionNotifier*)Unsafe.AsPointer(ref this), + callbackID + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(4)] + HRESULT UnregisterDestructionCallback(uint callbackID); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (PFN_DESTRUCTION_CALLBACK, void *, UINT *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + delegate* unmanaged, + void*, + uint*, + int> RegisterDestructionCallback; + + [NativeTypeName("HRESULT (UINT) __attribute__((stdcall))")] + public delegate* unmanaged UnregisterDestructionCallback; + } +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/ID3DInclude.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/ID3DInclude.gen.cs new file mode 100644 index 0000000000..1d9c1ddad0 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/ID3DInclude.gen.cs @@ -0,0 +1,90 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct ID3DInclude : ID3DInclude.Interface +{ + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT Open( + D3D_INCLUDE_TYPE IncludeType, + [NativeTypeName("LPCSTR")] sbyte* pFileName, + [NativeTypeName("LPCVOID")] void* pParentData, + [NativeTypeName("LPCVOID *")] void** ppData, + uint* pBytes + ) + { + return ( + (delegate* unmanaged< + ID3DInclude*, + D3D_INCLUDE_TYPE, + sbyte*, + void*, + void**, + uint*, + int>)(lpVtbl[0]) + )( + (ID3DInclude*)Unsafe.AsPointer(ref this), + IncludeType, + pFileName, + pParentData, + ppData, + pBytes + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public HRESULT Close([NativeTypeName("LPCVOID")] void* pData) + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3DInclude*)Unsafe.AsPointer(ref this), + pData + ); + } + + public interface Interface + { + [VtblIndex(0)] + HRESULT Open( + D3D_INCLUDE_TYPE IncludeType, + [NativeTypeName("LPCSTR")] sbyte* pFileName, + [NativeTypeName("LPCVOID")] void* pParentData, + [NativeTypeName("LPCVOID *")] void** ppData, + uint* pBytes + ); + + [VtblIndex(1)] + HRESULT Close([NativeTypeName("LPCVOID")] void* pData); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName( + "HRESULT (D3D_INCLUDE_TYPE, LPCSTR, LPCVOID, LPCVOID *, UINT *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + D3D_INCLUDE_TYPE, + sbyte*, + void*, + void**, + uint*, + int> Open; + + [NativeTypeName("HRESULT (LPCVOID) __attribute__((nothrow)) __attribute__((stdcall))")] + public delegate* unmanaged Close; + } +} diff --git a/sources/Windows/DirectX/headers/d3dcommon/IID.gen.cs b/sources/Windows/DirectX/headers/d3dcommon/IID.gen.cs new file mode 100644 index 0000000000..bd94998da9 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dcommon/IID.gen.cs @@ -0,0 +1,37 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D10Blob + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x08, 0xFB, 0xA5, 0x8B, 0x95, 0x51, 0xE2, 0x40, 0xAC, 0x58, 0x0D, 0x98, 0x9C, 0x3A, 0x01, 0x02]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("#define IID_ID3DBlob IID_ID3D10Blob")] + public static ref readonly Guid IID_ID3DBlob => ref IID_ID3D10Blob; + + public static ref readonly Guid IID_ID3DDestructionNotifier + { + get + { + ReadOnlySpan data = [0x9A, 0xB3, 0x6E, 0xA0, 0xDA, 0x50, 0x5B, 0x42, 0x8C, 0x31, 0x4E, 0xEC, 0xD6, 0xC2, 0x70, 0xF3]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/d3dx12/D3DX12_MESH_SHADER_PIPELINE_STATE_DESC.gen.cs b/sources/Windows/DirectX/headers/d3dx12/D3DX12_MESH_SHADER_PIPELINE_STATE_DESC.gen.cs new file mode 100644 index 0000000000..c9678a8431 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dx12/D3DX12_MESH_SHADER_PIPELINE_STATE_DESC.gen.cs @@ -0,0 +1,84 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dx12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct D3DX12_MESH_SHADER_PIPELINE_STATE_DESC +{ + /// + + public ID3D12RootSignature* pRootSignature; + + /// + + public D3D12_SHADER_BYTECODE AS; + + /// + + public D3D12_SHADER_BYTECODE MS; + + /// + + public D3D12_SHADER_BYTECODE PS; + + /// + + public D3D12_BLEND_DESC BlendState; + + /// + + public uint SampleMask; + + /// + + public D3D12_RASTERIZER_DESC RasterizerState; + + /// + + public D3D12_DEPTH_STENCIL_DESC DepthStencilState; + + /// + + public D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType; + + /// + + public uint NumRenderTargets; + + /// + + [NativeTypeName("DXGI_FORMAT[8]")] + public _RTVFormats_e__FixedBuffer RTVFormats; + + /// + + public DXGI_FORMAT DSVFormat; + + /// + + public DXGI_SAMPLE_DESC SampleDesc; + + /// + + public uint NodeMask; + + /// + + public D3D12_CACHED_PIPELINE_STATE CachedPSO; + + /// + + public D3D12_PIPELINE_STATE_FLAGS Flags; + + /// + + [InlineArray(8)] + public partial struct _RTVFormats_e__FixedBuffer + { + public DXGI_FORMAT e0; + } +} diff --git a/sources/Windows/DirectX/headers/d3dx12/DirectX.gen.cs b/sources/Windows/DirectX/headers/d3dx12/DirectX.gen.cs new file mode 100644 index 0000000000..897446bd82 --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dx12/DirectX.gen.cs @@ -0,0 +1,332 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dx12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System.Runtime.InteropServices; +using static Silk.NET.DirectX.D3D12_FEATURE; +using static Silk.NET.DirectX.D3D12_RESOURCE_DIMENSION; +using static Silk.NET.DirectX.D3D12_TEXTURE_LAYOUT; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +public static unsafe partial class DirectX +{ + /// + + public static uint D3D12CalcSubresource( + uint MipSlice, + uint ArraySlice, + uint PlaneSlice, + uint MipLevels, + uint ArraySize + ) + { + return MipSlice + ArraySlice * MipLevels + PlaneSlice * MipLevels * ArraySize; + } + + /// + + [return: NativeTypeName("UINT8")] + public static byte D3D12GetFormatPlaneCount(ID3D12Device* pDevice, DXGI_FORMAT Format) + { + D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = new D3D12_FEATURE_DATA_FORMAT_INFO + { + Format = Format, + PlaneCount = 0, + }; + if ( + ( + ( + (HRESULT)( + pDevice->CheckFeatureSupport( + D3D12_FEATURE_FORMAT_INFO, + &formatInfo, + (uint)(sizeof(D3D12_FEATURE_DATA_FORMAT_INFO)) + ) + ) + ) < 0 + ) + ) + { + return 0; + } + return formatInfo.PlaneCount; + } + + /// + + public static void MemcpySubresource( + [NativeTypeName("const D3D12_MEMCPY_DEST *")] D3D12_MEMCPY_DEST* pDest, + [NativeTypeName("const void *")] void* pResourceData, + [NativeTypeName("const D3D12_SUBRESOURCE_INFO *")] D3D12_SUBRESOURCE_INFO* pSrc, + [NativeTypeName("SIZE_T")] nuint RowSizeInBytes, + uint NumRows, + uint NumSlices + ) + { + for (uint z = 0; z < NumSlices; ++z) + { + byte* pDestSlice = (byte*)(pDest->pData) + pDest->SlicePitch * z; + byte* pSrcSlice = + ((byte*)(pResourceData) + pSrc->Offset) + pSrc->DepthPitch * (nuint)(z); + for (uint y = 0; y < NumRows; ++y) + { + NativeMemory.Copy( + pDestSlice + pDest->RowPitch * y, + pSrcSlice + pSrc->RowPitch * (nuint)(y), + RowSizeInBytes + ); + } + } + } + + /// + + [return: NativeTypeName("UINT64")] + public static ulong UpdateSubresources( + ID3D12GraphicsCommandList* pCmdList, + ID3D12Resource* pDestinationResource, + ID3D12Resource* pIntermediate, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong RequiredSize, + [NativeTypeName("const D3D12_PLACED_SUBRESOURCE_FOOTPRINT *")] + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + [NativeTypeName("const UINT *")] uint* pNumRows, + [NativeTypeName("const UINT64 *")] ulong* pRowSizesInBytes, + [NativeTypeName("const D3D12_SUBRESOURCE_DATA *")] D3D12_SUBRESOURCE_DATA* pSrcData + ) + { + D3D12_RESOURCE_DESC IntermediateDesc = pIntermediate->GetDesc(); + D3D12_RESOURCE_DESC DestinationDesc = pDestinationResource->GetDesc(); + if ( + unchecked( + IntermediateDesc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER + || IntermediateDesc.Width < RequiredSize + pLayouts[0].Offset + || RequiredSize > (nuint)(-1) + ) + || ( + DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER + && (FirstSubresource != 0 || NumSubresources != 1) + ) + ) + { + return 0; + } + byte* pData; + HRESULT hr = pIntermediate->Map(0, null, (void**)(&pData)); + if ((((HRESULT)(hr)) < 0)) + { + return 0; + } + for (uint i = 0; i < NumSubresources; ++i) + { + if (pRowSizesInBytes[i] > unchecked((nuint)(-1))) + { + return 0; + } + D3D12_MEMCPY_DEST DestData = new D3D12_MEMCPY_DEST + { + pData = pData + pLayouts[i].Offset, + RowPitch = pLayouts[i].Footprint.RowPitch, + SlicePitch = unchecked( + (nuint)(pLayouts[i].Footprint.RowPitch) * (nuint)(pNumRows[i]) + ), + }; + MemcpySubresource( + &DestData, + &pSrcData[i], + unchecked((nuint)(pRowSizesInBytes[i])), + pNumRows[i], + pLayouts[i].Footprint.Depth + ); + } + pIntermediate->Unmap(0, null); + if (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER) + { + pCmdList->CopyBufferRegion( + pDestinationResource, + 0, + pIntermediate, + pLayouts[0].Offset, + pLayouts[0].Footprint.Width + ); + } + else + { + for (uint i = 0; i < NumSubresources; ++i) + { + D3D12_TEXTURE_COPY_LOCATION Dst = new D3D12_TEXTURE_COPY_LOCATION( + pDestinationResource, + i + FirstSubresource + ); + D3D12_TEXTURE_COPY_LOCATION Src = new D3D12_TEXTURE_COPY_LOCATION( + pIntermediate, + pLayouts[i] + ); + pCmdList->CopyTextureRegion(&Dst, 0, 0, 0, &Src, null); + } + } + return RequiredSize; + } + + /// + + [return: NativeTypeName("UINT64")] + public static ulong UpdateSubresources( + ID3D12GraphicsCommandList* pCmdList, + ID3D12Resource* pDestinationResource, + ID3D12Resource* pIntermediate, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("UINT64")] ulong RequiredSize, + [NativeTypeName("const D3D12_PLACED_SUBRESOURCE_FOOTPRINT *")] + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts, + [NativeTypeName("const UINT *")] uint* pNumRows, + [NativeTypeName("const UINT64 *")] ulong* pRowSizesInBytes, + [NativeTypeName("const void *")] void* pResourceData, + [NativeTypeName("const D3D12_SUBRESOURCE_INFO *")] D3D12_SUBRESOURCE_INFO* pSrcData + ) + { + D3D12_RESOURCE_DESC IntermediateDesc = pIntermediate->GetDesc(); + D3D12_RESOURCE_DESC DestinationDesc = pDestinationResource->GetDesc(); + if ( + unchecked( + IntermediateDesc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER + || IntermediateDesc.Width < RequiredSize + pLayouts[0].Offset + || RequiredSize > (nuint)(-1) + ) + || ( + DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER + && (FirstSubresource != 0 || NumSubresources != 1) + ) + ) + { + return 0; + } + byte* pData; + HRESULT hr = pIntermediate->Map(0, null, (void**)(&pData)); + if ((((HRESULT)(hr)) < 0)) + { + return 0; + } + for (uint i = 0; i < NumSubresources; ++i) + { + if (pRowSizesInBytes[i] > unchecked((nuint)(-1))) + { + return 0; + } + D3D12_MEMCPY_DEST DestData = new D3D12_MEMCPY_DEST + { + pData = pData + pLayouts[i].Offset, + RowPitch = pLayouts[i].Footprint.RowPitch, + SlicePitch = unchecked( + (nuint)(pLayouts[i].Footprint.RowPitch) * (nuint)(pNumRows[i]) + ), + }; + MemcpySubresource( + &DestData, + pResourceData, + &pSrcData[i], + unchecked((nuint)(pRowSizesInBytes[i])), + pNumRows[i], + pLayouts[i].Footprint.Depth + ); + } + pIntermediate->Unmap(0, null); + if (DestinationDesc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER) + { + pCmdList->CopyBufferRegion( + pDestinationResource, + 0, + pIntermediate, + pLayouts[0].Offset, + pLayouts[0].Footprint.Width + ); + } + else + { + for (uint i = 0; i < NumSubresources; ++i) + { + D3D12_TEXTURE_COPY_LOCATION Dst = new D3D12_TEXTURE_COPY_LOCATION( + pDestinationResource, + i + FirstSubresource + ); + D3D12_TEXTURE_COPY_LOCATION Src = new D3D12_TEXTURE_COPY_LOCATION( + pIntermediate, + pLayouts[i] + ); + pCmdList->CopyTextureRegion(&Dst, 0, 0, 0, &Src, null); + } + } + return RequiredSize; + } + + /// + + [return: NativeTypeName("UINT64")] + public static ulong UpdateSubresources( + ID3D12GraphicsCommandList* pCmdList, + ID3D12Resource* pDestinationResource, + ID3D12Resource* pIntermediate, + [NativeTypeName("UINT64")] ulong IntermediateOffset, + uint FirstSubresource, + uint NumSubresources, + [NativeTypeName("const void *")] void* pResourceData, + [NativeTypeName("const D3D12_SUBRESOURCE_INFO *")] D3D12_SUBRESOURCE_INFO* pSrcData + ) + { + ulong RequiredSize = 0; + ulong MemToAlloc = (ulong)(32 + 4 + 8) * NumSubresources; + if (unchecked(MemToAlloc) > 0xffffffffffffffffUL) + { + return 0; + } + void* pMem = HeapAlloc(GetProcessHeap(), 0, (nuint)(MemToAlloc)); + if (pMem == null) + { + return 0; + } + D3D12_PLACED_SUBRESOURCE_FOOTPRINT* pLayouts = (D3D12_PLACED_SUBRESOURCE_FOOTPRINT*)(pMem); + ulong* pRowSizesInBytes = (ulong*)(pLayouts + NumSubresources); + uint* pNumRows = (uint*)(pRowSizesInBytes + NumSubresources); + D3D12_RESOURCE_DESC Desc = pDestinationResource->GetDesc(); + ID3D12Device* pDevice = null; + _ = pDestinationResource->GetDevice(&IID_ID3D12Device, (void**)(&pDevice)); + pDevice->GetCopyableFootprints( + &Desc, + FirstSubresource, + NumSubresources, + IntermediateOffset, + unchecked(pLayouts), + unchecked(pNumRows), + unchecked(pRowSizesInBytes), + &RequiredSize + ); + _ = pDevice->Release(); + ulong Result = UpdateSubresources( + pCmdList, + pDestinationResource, + pIntermediate, + FirstSubresource, + NumSubresources, + RequiredSize, + pLayouts, + pNumRows, + pRowSizesInBytes, + pResourceData, + pSrcData + ); + _ = HeapFree(GetProcessHeap(), 0, pMem); + return Result; + } + + /// + + public static bool D3D12IsLayoutOpaque(D3D12_TEXTURE_LAYOUT Layout) + { + return Layout == D3D12_TEXTURE_LAYOUT_UNKNOWN + || Layout == D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE; + } +} diff --git a/sources/Windows/DirectX/headers/d3dx12/ID3DX12PipelineParserCallbacks.gen.cs b/sources/Windows/DirectX/headers/d3dx12/ID3DX12PipelineParserCallbacks.gen.cs new file mode 100644 index 0000000000..a50d3e1aeb --- /dev/null +++ b/sources/Windows/DirectX/headers/d3dx12/ID3DX12PipelineParserCallbacks.gen.cs @@ -0,0 +1,654 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dx12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct ID3DX12PipelineParserCallbacks + : ID3DX12PipelineParserCallbacks.Interface +{ + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public void FlagsCb(D3D12_PIPELINE_STATE_FLAGS param0) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_PIPELINE_STATE_FLAGS, + void>)(lpVtbl[0]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public void NodeMaskCb(uint param0) + { + ((delegate* unmanaged)(lpVtbl[1]))( + (ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), + param0 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + public void RootSignatureCb(ID3D12RootSignature* param0) + { + ( + (delegate* unmanaged)( + lpVtbl[2] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void InputLayoutCb( + [NativeTypeName("const D3D12_INPUT_LAYOUT_DESC &")] D3D12_INPUT_LAYOUT_DESC* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE param0) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE, + void>)(lpVtbl[4]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE param0) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_PRIMITIVE_TOPOLOGY_TYPE, + void>)(lpVtbl[5]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void VSCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[6] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GSCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[7] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void StreamOutputCb( + [NativeTypeName("const D3D12_STREAM_OUTPUT_DESC &")] D3D12_STREAM_OUTPUT_DESC* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[8] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void HSCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[9] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void DSCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[10] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void PSCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[11] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void CSCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[12] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void ASCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[13] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void MSCb( + [NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[14] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void BlendStateCb([NativeTypeName("const D3D12_BLEND_DESC &")] D3D12_BLEND_DESC* param0) + { + ( + (delegate* unmanaged)( + lpVtbl[15] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void DepthStencilStateCb( + [NativeTypeName("const D3D12_DEPTH_STENCIL_DESC &")] D3D12_DEPTH_STENCIL_DESC* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[16] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void DepthStencilState1Cb( + [NativeTypeName("const D3D12_DEPTH_STENCIL_DESC1 &")] D3D12_DEPTH_STENCIL_DESC1* param0 + ) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_DEPTH_STENCIL_DESC1*, + void>)(lpVtbl[17]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void DepthStencilState2Cb( + [NativeTypeName("const D3D12_DEPTH_STENCIL_DESC2 &")] D3D12_DEPTH_STENCIL_DESC2* param0 + ) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_DEPTH_STENCIL_DESC2*, + void>)(lpVtbl[18]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void DSVFormatCb(DXGI_FORMAT param0) + { + ((delegate* unmanaged)(lpVtbl[19]))( + (ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), + param0 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void RasterizerStateCb( + [NativeTypeName("const D3D12_RASTERIZER_DESC &")] D3D12_RASTERIZER_DESC* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[20] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void RTVFormatsCb( + [NativeTypeName("const D3D12_RT_FORMAT_ARRAY &")] D3D12_RT_FORMAT_ARRAY* param0 + ) + { + ( + (delegate* unmanaged)( + lpVtbl[21] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void SampleDescCb([NativeTypeName("const DXGI_SAMPLE_DESC &")] DXGI_SAMPLE_DESC* param0) + { + ( + (delegate* unmanaged)( + lpVtbl[22] + ) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void SampleMaskCb(uint param0) + { + ((delegate* unmanaged)(lpVtbl[23]))( + (ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), + param0 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void ViewInstancingCb( + [NativeTypeName("const D3D12_VIEW_INSTANCING_DESC &")] D3D12_VIEW_INSTANCING_DESC* param0 + ) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_VIEW_INSTANCING_DESC*, + void>)(lpVtbl[24]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void CachedPSOCb( + [NativeTypeName("const D3D12_CACHED_PIPELINE_STATE &")] D3D12_CACHED_PIPELINE_STATE* param0 + ) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_CACHED_PIPELINE_STATE*, + void>)(lpVtbl[25]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void ErrorBadInputParameter(uint param0) + { + ((delegate* unmanaged)(lpVtbl[26]))( + (ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), + param0 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void ErrorDuplicateSubobject(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE param0) + { + ( + (delegate* unmanaged< + ID3DX12PipelineParserCallbacks*, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE, + void>)(lpVtbl[27]) + )((ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), param0); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void ErrorUnknownSubobject(uint param0) + { + ((delegate* unmanaged)(lpVtbl[28]))( + (ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this), + param0 + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void Dispose() + { + ((delegate* unmanaged)(lpVtbl[29]))( + (ID3DX12PipelineParserCallbacks*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface + { + [VtblIndex(0)] + void FlagsCb(D3D12_PIPELINE_STATE_FLAGS param0); + + [VtblIndex(1)] + void NodeMaskCb(uint param0); + + [VtblIndex(2)] + void RootSignatureCb(ID3D12RootSignature* param0); + + [VtblIndex(3)] + void InputLayoutCb( + [NativeTypeName("const D3D12_INPUT_LAYOUT_DESC &")] D3D12_INPUT_LAYOUT_DESC* param0 + ); + + [VtblIndex(4)] + void IBStripCutValueCb(D3D12_INDEX_BUFFER_STRIP_CUT_VALUE param0); + + [VtblIndex(5)] + void PrimitiveTopologyTypeCb(D3D12_PRIMITIVE_TOPOLOGY_TYPE param0); + + [VtblIndex(6)] + void VSCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(7)] + void GSCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(8)] + void StreamOutputCb( + [NativeTypeName("const D3D12_STREAM_OUTPUT_DESC &")] D3D12_STREAM_OUTPUT_DESC* param0 + ); + + [VtblIndex(9)] + void HSCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(10)] + void DSCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(11)] + void PSCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(12)] + void CSCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(13)] + void ASCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(14)] + void MSCb([NativeTypeName("const D3D12_SHADER_BYTECODE &")] D3D12_SHADER_BYTECODE* param0); + + [VtblIndex(15)] + void BlendStateCb([NativeTypeName("const D3D12_BLEND_DESC &")] D3D12_BLEND_DESC* param0); + + [VtblIndex(16)] + void DepthStencilStateCb( + [NativeTypeName("const D3D12_DEPTH_STENCIL_DESC &")] D3D12_DEPTH_STENCIL_DESC* param0 + ); + + [VtblIndex(17)] + void DepthStencilState1Cb( + [NativeTypeName("const D3D12_DEPTH_STENCIL_DESC1 &")] D3D12_DEPTH_STENCIL_DESC1* param0 + ); + + [VtblIndex(18)] + void DepthStencilState2Cb( + [NativeTypeName("const D3D12_DEPTH_STENCIL_DESC2 &")] D3D12_DEPTH_STENCIL_DESC2* param0 + ); + + [VtblIndex(19)] + void DSVFormatCb(DXGI_FORMAT param0); + + [VtblIndex(20)] + void RasterizerStateCb( + [NativeTypeName("const D3D12_RASTERIZER_DESC &")] D3D12_RASTERIZER_DESC* param0 + ); + + [VtblIndex(21)] + void RTVFormatsCb( + [NativeTypeName("const D3D12_RT_FORMAT_ARRAY &")] D3D12_RT_FORMAT_ARRAY* param0 + ); + + [VtblIndex(22)] + void SampleDescCb([NativeTypeName("const DXGI_SAMPLE_DESC &")] DXGI_SAMPLE_DESC* param0); + + [VtblIndex(23)] + void SampleMaskCb(uint param0); + + [VtblIndex(24)] + void ViewInstancingCb( + [NativeTypeName("const D3D12_VIEW_INSTANCING_DESC &")] + D3D12_VIEW_INSTANCING_DESC* param0 + ); + + [VtblIndex(25)] + void CachedPSOCb( + [NativeTypeName("const D3D12_CACHED_PIPELINE_STATE &")] + D3D12_CACHED_PIPELINE_STATE* param0 + ); + + [VtblIndex(26)] + void ErrorBadInputParameter(uint param0); + + [VtblIndex(27)] + void ErrorDuplicateSubobject(D3D12_PIPELINE_STATE_SUBOBJECT_TYPE param0); + + [VtblIndex(28)] + void ErrorUnknownSubobject(uint param0); + + [VtblIndex(29)] + void Dispose(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("void (D3D12_PIPELINE_STATE_FLAGS)")] + public delegate* unmanaged FlagsCb; + + [NativeTypeName("void (UINT)")] + public delegate* unmanaged NodeMaskCb; + + [NativeTypeName("void (ID3D12RootSignature *)")] + public delegate* unmanaged RootSignatureCb; + + [NativeTypeName("void (const D3D12_INPUT_LAYOUT_DESC &)")] + public delegate* unmanaged InputLayoutCb; + + [NativeTypeName("void (D3D12_INDEX_BUFFER_STRIP_CUT_VALUE)")] + public delegate* unmanaged< + TSelf*, + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE, + void> IBStripCutValueCb; + + [NativeTypeName("void (D3D12_PRIMITIVE_TOPOLOGY_TYPE)")] + public delegate* unmanaged< + TSelf*, + D3D12_PRIMITIVE_TOPOLOGY_TYPE, + void> PrimitiveTopologyTypeCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged VSCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged GSCb; + + [NativeTypeName("void (const D3D12_STREAM_OUTPUT_DESC &)")] + public delegate* unmanaged StreamOutputCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged HSCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged DSCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged PSCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged CSCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged ASCb; + + [NativeTypeName("void (const D3D12_SHADER_BYTECODE &)")] + public delegate* unmanaged MSCb; + + [NativeTypeName("void (const D3D12_BLEND_DESC &)")] + public delegate* unmanaged BlendStateCb; + + [NativeTypeName("void (const D3D12_DEPTH_STENCIL_DESC &)")] + public delegate* unmanaged DepthStencilStateCb; + + [NativeTypeName("void (const D3D12_DEPTH_STENCIL_DESC1 &)")] + public delegate* unmanaged DepthStencilState1Cb; + + [NativeTypeName("void (const D3D12_DEPTH_STENCIL_DESC2 &)")] + public delegate* unmanaged DepthStencilState2Cb; + + [NativeTypeName("void (DXGI_FORMAT)")] + public delegate* unmanaged DSVFormatCb; + + [NativeTypeName("void (const D3D12_RASTERIZER_DESC &)")] + public delegate* unmanaged RasterizerStateCb; + + [NativeTypeName("void (const D3D12_RT_FORMAT_ARRAY &)")] + public delegate* unmanaged RTVFormatsCb; + + [NativeTypeName("void (const DXGI_SAMPLE_DESC &)")] + public delegate* unmanaged SampleDescCb; + + [NativeTypeName("void (UINT)")] + public delegate* unmanaged SampleMaskCb; + + [NativeTypeName("void (const D3D12_VIEW_INSTANCING_DESC &)")] + public delegate* unmanaged ViewInstancingCb; + + [NativeTypeName("void (const D3D12_CACHED_PIPELINE_STATE &)")] + public delegate* unmanaged CachedPSOCb; + + [NativeTypeName("void (UINT)")] + public delegate* unmanaged ErrorBadInputParameter; + + [NativeTypeName("void (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE)")] + public delegate* unmanaged< + TSelf*, + D3D12_PIPELINE_STATE_SUBOBJECT_TYPE, + void> ErrorDuplicateSubobject; + + [NativeTypeName("void (UINT)")] + public delegate* unmanaged ErrorUnknownSubobject; + + [NativeTypeName("void () noexcept")] + public delegate* unmanaged Dispose; + } +} diff --git a/sources/Windows/DirectX/headers/dxcore/DirectX.gen.cs b/sources/Windows/DirectX/headers/dxcore/DirectX.gen.cs new file mode 100644 index 0000000000..61e6e83ef4 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore/DirectX.gen.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +public static unsafe partial class DirectX +{ + /// + + [DllImport("dxcore", ExactSpelling = true)] + [SupportedOSPlatform("windows10.0.19041.0")] + public static extern HRESULT DXCoreCreateAdapterFactory( + [NativeTypeName("const IID &")] Guid* riid, + void** ppvFactory + ); +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudget.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudget.gen.cs new file mode 100644 index 0000000000..bb3a603995 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudget.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct DXCoreAdapterMemoryBudget +{ + /// + + [NativeTypeName("uint64_t")] + public ulong budget; + + /// + + [NativeTypeName("uint64_t")] + public ulong currentUsage; + + /// + + [NativeTypeName("uint64_t")] + public ulong availableForReservation; + + /// + + [NativeTypeName("uint64_t")] + public ulong currentReservation; +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetNodeSegmentGroup.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetNodeSegmentGroup.gen.cs new file mode 100644 index 0000000000..bcb916fa76 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetNodeSegmentGroup.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct DXCoreAdapterMemoryBudgetNodeSegmentGroup +{ + /// + + [NativeTypeName("uint32_t")] + public uint nodeIndex; + + /// + + public DXCoreSegmentGroup segmentGroup; +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterPreference.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterPreference.gen.cs new file mode 100644 index 0000000000..6d91a5d57b --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterPreference.gen.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[NativeTypeName("uint32_t")] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum DXCoreAdapterPreference : uint +{ + /// + + Hardware = 0, + + /// + + MinimumPower = 1, + + /// + + HighPerformance = 2, +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterProperty.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterProperty.gen.cs new file mode 100644 index 0000000000..c9bdaf8c02 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterProperty.gen.cs @@ -0,0 +1,72 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[NativeTypeName("uint32_t")] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum DXCoreAdapterProperty : uint +{ + /// + + InstanceLuid = 0, + + /// + + DriverVersion = 1, + + /// + + DriverDescription = 2, + + /// + + HardwareID = 3, + + /// + + KmdModelVersion = 4, + + /// + + ComputePreemptionGranularity = 5, + + /// + + GraphicsPreemptionGranularity = 6, + + /// + + DedicatedAdapterMemory = 7, + + /// + + DedicatedSystemMemory = 8, + + /// + + SharedSystemMemory = 9, + + /// + + AcgCompatible = 10, + + /// + + IsHardware = 11, + + /// + + IsIntegrated = 12, + + /// + + IsDetachable = 13, + + /// + + HardwareIDParts = 14, +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterState.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterState.gen.cs new file mode 100644 index 0000000000..28b45f60c0 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterState.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[NativeTypeName("uint32_t")] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum DXCoreAdapterState : uint +{ + /// + + IsDriverUpdateInProgress = 0, + + /// + + AdapterMemoryBudget = 1, +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareID.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareID.gen.cs new file mode 100644 index 0000000000..95b69ff190 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareID.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0.19041.0")] +public partial struct DXCoreHardwareID +{ + /// + + [NativeTypeName("uint32_t")] + public uint vendorID; + + /// + + [NativeTypeName("uint32_t")] + public uint deviceID; + + /// + + [NativeTypeName("uint32_t")] + public uint subSysID; + + /// + + [NativeTypeName("uint32_t")] + public uint revision; +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDParts.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDParts.gen.cs new file mode 100644 index 0000000000..b37aa0baf3 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDParts.gen.cs @@ -0,0 +1,33 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct DXCoreHardwareIDParts +{ + /// + + [NativeTypeName("uint32_t")] + public uint vendorID; + + /// + + [NativeTypeName("uint32_t")] + public uint deviceID; + + /// + + [NativeTypeName("uint32_t")] + public uint subSystemID; + + /// + + [NativeTypeName("uint32_t")] + public uint subVendorID; + + /// + + [NativeTypeName("uint32_t")] + public uint revisionID; +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreNotificationType.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreNotificationType.gen.cs new file mode 100644 index 0000000000..2766b0782e --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreNotificationType.gen.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[NativeTypeName("uint32_t")] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum DXCoreNotificationType : uint +{ + /// + + AdapterListStale = 0, + + /// + + AdapterNoLongerValid = 1, + + /// + + AdapterBudgetChange = 2, + + /// + + AdapterHardwareContentProtectionTeardown = 3, +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DXCoreSegmentGroup.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreSegmentGroup.gen.cs new file mode 100644 index 0000000000..231e79c9e3 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DXCoreSegmentGroup.gen.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[NativeTypeName("uint32_t")] +[SupportedOSPlatform("windows10.0.19041.0")] +public enum DXCoreSegmentGroup : uint +{ + /// + + Local = 0, + + /// + + NonLocal = 1, +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/DirectX.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/DirectX.gen.cs new file mode 100644 index 0000000000..a5cc0b8cbf --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/DirectX.gen.cs @@ -0,0 +1,50 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX; +public static partial class DirectX +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid DXCORE_ADAPTER_ATTRIBUTE_D3D11_GRAPHICS + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x6B, 0x86, 0x47, 0x8C, 0x83, 0x75, 0x0D, 0x45, 0xF0, 0xF0, 0x6B, 0xAD, 0xA8, 0x95, 0xAF, 0x4B]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid DXCORE_ADAPTER_ATTRIBUTE_D3D12_GRAPHICS + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x4D, 0xCE, 0x9E, 0x0C, 0x6E, 0x2F, 0x01, 0x4F, 0x8C, 0x96, 0xE8, 0x9E, 0x33, 0x1B, 0x47, 0xB1]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid DXCORE_ADAPTER_ATTRIBUTE_D3D12_CORE_COMPUTE + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x00, 0x28, 0x8E, 0x24, 0x93, 0xA7, 0x24, 0x47, 0xAB, 0xAA, 0x23, 0xA6, 0xDE, 0x1B, 0xE0, 0x90]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("#define _FACDXCORE 0x880")] + public const int _FACDXCORE = 0x880; +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapter.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapter.gen.cs new file mode 100644 index 0000000000..e6cd87cdc1 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapter.gen.cs @@ -0,0 +1,338 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("F0DB4C7F-FE5A-42A2-BD62-F2A6CF6FC83E")] +[NativeTypeName("struct IDXCoreAdapter : IUnknown")] +[NativeInheritance("IUnknown")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct IDXCoreAdapter : IDXCoreAdapter.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXCoreAdapter)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public bool IsValid() + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this) + ) != 0; + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public bool IsAttributeSupported([NativeTypeName("const GUID &")] Guid* attributeGUID) + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + attributeGUID + ) != 0; + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public bool IsPropertySupported(DXCoreAdapterProperty property) + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + property + ) != 0; + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT GetProperty( + DXCoreAdapterProperty property, + [NativeTypeName("size_t")] nuint bufferSize, + void* propertyData + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[6] + ) + )((IDXCoreAdapter*)Unsafe.AsPointer(ref this), property, bufferSize, propertyData); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT GetPropertySize( + DXCoreAdapterProperty property, + [NativeTypeName("size_t *")] nuint* bufferSize + ) + { + return ( + (delegate* unmanaged)(lpVtbl[7]) + )((IDXCoreAdapter*)Unsafe.AsPointer(ref this), property, bufferSize); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public bool IsQueryStateSupported(DXCoreAdapterState property) + { + return ((delegate* unmanaged)(lpVtbl[8]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + property + ) != 0; + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HRESULT QueryState( + DXCoreAdapterState state, + [NativeTypeName("size_t")] nuint inputStateDetailsSize, + [NativeTypeName("const void *")] void* inputStateDetails, + [NativeTypeName("size_t")] nuint outputBufferSize, + void* outputBuffer + ) + { + return ( + (delegate* unmanaged< + IDXCoreAdapter*, + DXCoreAdapterState, + nuint, + void*, + nuint, + void*, + int>)(lpVtbl[9]) + )( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + state, + inputStateDetailsSize, + inputStateDetails, + outputBufferSize, + outputBuffer + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public bool IsSetStateSupported(DXCoreAdapterState property) + { + return ((delegate* unmanaged)(lpVtbl[10]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + property + ) != 0; + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HRESULT SetState( + DXCoreAdapterState state, + [NativeTypeName("size_t")] nuint inputStateDetailsSize, + [NativeTypeName("const void *")] void* inputStateDetails, + [NativeTypeName("size_t")] nuint inputDataSize, + [NativeTypeName("const void *")] void* inputData + ) + { + return ( + (delegate* unmanaged< + IDXCoreAdapter*, + DXCoreAdapterState, + nuint, + void*, + nuint, + void*, + int>)(lpVtbl[11]) + )( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + state, + inputStateDetailsSize, + inputStateDetails, + inputDataSize, + inputData + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HRESULT GetFactory([NativeTypeName("const IID &")] Guid* riid, void** ppvFactory) + { + return ((delegate* unmanaged)(lpVtbl[12]))( + (IDXCoreAdapter*)Unsafe.AsPointer(ref this), + riid, + ppvFactory + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + bool IsValid(); + + [VtblIndex(4)] + bool IsAttributeSupported([NativeTypeName("const GUID &")] Guid* attributeGUID); + + [VtblIndex(5)] + bool IsPropertySupported(DXCoreAdapterProperty property); + + [VtblIndex(6)] + HRESULT GetProperty( + DXCoreAdapterProperty property, + [NativeTypeName("size_t")] nuint bufferSize, + void* propertyData + ); + + [VtblIndex(7)] + HRESULT GetPropertySize( + DXCoreAdapterProperty property, + [NativeTypeName("size_t *")] nuint* bufferSize + ); + + [VtblIndex(8)] + bool IsQueryStateSupported(DXCoreAdapterState property); + + [VtblIndex(9)] + HRESULT QueryState( + DXCoreAdapterState state, + [NativeTypeName("size_t")] nuint inputStateDetailsSize, + [NativeTypeName("const void *")] void* inputStateDetails, + [NativeTypeName("size_t")] nuint outputBufferSize, + void* outputBuffer + ); + + [VtblIndex(10)] + bool IsSetStateSupported(DXCoreAdapterState property); + + [VtblIndex(11)] + HRESULT SetState( + DXCoreAdapterState state, + [NativeTypeName("size_t")] nuint inputStateDetailsSize, + [NativeTypeName("const void *")] void* inputStateDetails, + [NativeTypeName("size_t")] nuint inputDataSize, + [NativeTypeName("const void *")] void* inputData + ); + + [VtblIndex(12)] + HRESULT GetFactory([NativeTypeName("const IID &")] Guid* riid, void** ppvFactory); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("bool () __attribute__((stdcall))")] + public delegate* unmanaged IsValid; + + [NativeTypeName("bool (const GUID &) __attribute__((stdcall))")] + public delegate* unmanaged IsAttributeSupported; + + [NativeTypeName("bool (DXCoreAdapterProperty) __attribute__((stdcall))")] + public delegate* unmanaged IsPropertySupported; + + [NativeTypeName("HRESULT (DXCoreAdapterProperty, size_t, void *) __attribute__((stdcall))")] + public delegate* unmanaged GetProperty; + + [NativeTypeName("HRESULT (DXCoreAdapterProperty, size_t *) __attribute__((stdcall))")] + public delegate* unmanaged GetPropertySize; + + [NativeTypeName("bool (DXCoreAdapterState) __attribute__((stdcall))")] + public delegate* unmanaged IsQueryStateSupported; + + [NativeTypeName( + "HRESULT (DXCoreAdapterState, size_t, const void *, size_t, void *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + DXCoreAdapterState, + nuint, + void*, + nuint, + void*, + int> QueryState; + + [NativeTypeName("bool (DXCoreAdapterState) __attribute__((stdcall))")] + public delegate* unmanaged IsSetStateSupported; + + [NativeTypeName( + "HRESULT (DXCoreAdapterState, size_t, const void *, size_t, const void *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + DXCoreAdapterState, + nuint, + void*, + nuint, + void*, + int> SetState; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetFactory; + } +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterFactory.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterFactory.gen.cs new file mode 100644 index 0000000000..0bb96b1db6 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterFactory.gen.cs @@ -0,0 +1,222 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("78EE5945-C36E-4B13-A669-005DD11C0F06")] +[NativeTypeName("struct IDXCoreAdapterFactory : IUnknown")] +[NativeInheritance("IUnknown")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct IDXCoreAdapterFactory : IDXCoreAdapterFactory.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXCoreAdapterFactory)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT CreateAdapterList( + [NativeTypeName("uint32_t")] uint numAttributes, + [NativeTypeName("const GUID *")] Guid* filterAttributes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvAdapterList + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )( + (IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this), + numAttributes, + filterAttributes, + riid, + ppvAdapterList + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HRESULT GetAdapterByLuid( + [NativeTypeName("const LUID &")] LUID* adapterLUID, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvAdapter + ) + { + return ( + (delegate* unmanaged)(lpVtbl[4]) + )((IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this), adapterLUID, riid, ppvAdapter); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public bool IsNotificationTypeSupported(DXCoreNotificationType notificationType) + { + return ( + (delegate* unmanaged)( + lpVtbl[5] + ) + )((IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this), notificationType) != 0; + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT RegisterEventNotification( + IUnknown* dxCoreObject, + DXCoreNotificationType notificationType, + [NativeTypeName("PFN_DXCORE_NOTIFICATION_CALLBACK")] + delegate* unmanaged callbackFunction, + void* callbackContext, + [NativeTypeName("uint32_t *")] uint* eventCookie + ) + { + return ( + (delegate* unmanaged< + IDXCoreAdapterFactory*, + IUnknown*, + DXCoreNotificationType, + delegate* unmanaged, + void*, + uint*, + int>)(lpVtbl[6]) + )( + (IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this), + dxCoreObject, + notificationType, + callbackFunction, + callbackContext, + eventCookie + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT UnregisterEventNotification([NativeTypeName("uint32_t")] uint eventCookie) + { + return ((delegate* unmanaged)(lpVtbl[7]))( + (IDXCoreAdapterFactory*)Unsafe.AsPointer(ref this), + eventCookie + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT CreateAdapterList( + [NativeTypeName("uint32_t")] uint numAttributes, + [NativeTypeName("const GUID *")] Guid* filterAttributes, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvAdapterList + ); + + [VtblIndex(4)] + HRESULT GetAdapterByLuid( + [NativeTypeName("const LUID &")] LUID* adapterLUID, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvAdapter + ); + + [VtblIndex(5)] + bool IsNotificationTypeSupported(DXCoreNotificationType notificationType); + + [VtblIndex(7)] + HRESULT UnregisterEventNotification([NativeTypeName("uint32_t")] uint eventCookie); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (uint32_t, const GUID *, const IID &, void **) __attribute__((stdcall))" + )] + public delegate* unmanaged CreateAdapterList; + + [NativeTypeName("HRESULT (const LUID &, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterByLuid; + + [NativeTypeName("bool (DXCoreNotificationType) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + DXCoreNotificationType, + byte> IsNotificationTypeSupported; + + [NativeTypeName( + "HRESULT (IUnknown *, DXCoreNotificationType, PFN_DXCORE_NOTIFICATION_CALLBACK, void *, uint32_t *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + IUnknown*, + DXCoreNotificationType, + delegate* unmanaged, + void*, + uint*, + int> RegisterEventNotification; + + [NativeTypeName("HRESULT (uint32_t) __attribute__((stdcall))")] + public delegate* unmanaged UnregisterEventNotification; + } +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterList.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterList.gen.cs new file mode 100644 index 0000000000..ab2d84c2b0 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterList.gen.cs @@ -0,0 +1,206 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("526C7776-40E9-459B-B711-F32AD76DFC28")] +[NativeTypeName("struct IDXCoreAdapterList : IUnknown")] +[NativeInheritance("IUnknown")] +[SupportedOSPlatform("windows10.0.19041.0")] +public unsafe partial struct IDXCoreAdapterList : IDXCoreAdapterList.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXCoreAdapterList)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (IDXCoreAdapterList*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (IDXCoreAdapterList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (IDXCoreAdapterList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT GetAdapter( + [NativeTypeName("uint32_t")] uint index, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvAdapter + ) + { + return ((delegate* unmanaged)(lpVtbl[3]))( + (IDXCoreAdapterList*)Unsafe.AsPointer(ref this), + index, + riid, + ppvAdapter + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + [return: NativeTypeName("uint32_t")] + public uint GetAdapterCount() + { + return ((delegate* unmanaged)(lpVtbl[4]))( + (IDXCoreAdapterList*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public bool IsStale() + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (IDXCoreAdapterList*)Unsafe.AsPointer(ref this) + ) != 0; + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HRESULT GetFactory([NativeTypeName("const IID &")] Guid* riid, void** ppvFactory) + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (IDXCoreAdapterList*)Unsafe.AsPointer(ref this), + riid, + ppvFactory + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HRESULT Sort( + [NativeTypeName("uint32_t")] uint numPreferences, + [NativeTypeName("const DXCoreAdapterPreference *")] DXCoreAdapterPreference* preferences + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[7] + ) + )((IDXCoreAdapterList*)Unsafe.AsPointer(ref this), numPreferences, preferences); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public bool IsAdapterPreferenceSupported(DXCoreAdapterPreference preference) + { + return ( + (delegate* unmanaged)(lpVtbl[8]) + )((IDXCoreAdapterList*)Unsafe.AsPointer(ref this), preference) != 0; + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT GetAdapter( + [NativeTypeName("uint32_t")] uint index, + [NativeTypeName("const IID &")] Guid* riid, + void** ppvAdapter + ); + + [VtblIndex(4)] + [return: NativeTypeName("uint32_t")] + uint GetAdapterCount(); + + [VtblIndex(5)] + bool IsStale(); + + [VtblIndex(6)] + HRESULT GetFactory([NativeTypeName("const IID &")] Guid* riid, void** ppvFactory); + + [VtblIndex(7)] + HRESULT Sort( + [NativeTypeName("uint32_t")] uint numPreferences, + [NativeTypeName("const DXCoreAdapterPreference *")] DXCoreAdapterPreference* preferences + ); + + [VtblIndex(8)] + bool IsAdapterPreferenceSupported(DXCoreAdapterPreference preference); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName("HRESULT (uint32_t, const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetAdapter; + + [NativeTypeName("uint32_t () __attribute__((stdcall))")] + public delegate* unmanaged GetAdapterCount; + + [NativeTypeName("bool () __attribute__((stdcall))")] + public delegate* unmanaged IsStale; + + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged GetFactory; + + [NativeTypeName( + "HRESULT (uint32_t, const DXCoreAdapterPreference *) __attribute__((stdcall))" + )] + public delegate* unmanaged Sort; + + [NativeTypeName("bool (DXCoreAdapterPreference) __attribute__((stdcall))")] + public delegate* unmanaged< + TSelf*, + DXCoreAdapterPreference, + byte> IsAdapterPreferenceSupported; + } +} diff --git a/sources/Windows/DirectX/headers/dxcore_interface/IID.gen.cs b/sources/Windows/DirectX/headers/dxcore_interface/IID.gen.cs new file mode 100644 index 0000000000..b4b219a634 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxcore_interface/IID.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_IDXCoreAdapterFactory + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x45, 0x59, 0xEE, 0x78, 0x6E, 0xC3, 0x13, 0x4B, 0xA6, 0x69, 0x00, 0x5D, 0xD1, 0x1C, 0x0F, 0x06]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_IDXCoreAdapterList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x76, 0x77, 0x6C, 0x52, 0xE9, 0x40, 0x9B, 0x45, 0xB7, 0x11, 0xF3, 0x2A, 0xD7, 0x6D, 0xFC, 0x28]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_IDXCoreAdapter + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x7F, 0x4C, 0xDB, 0xF0, 0x5A, 0xFE, 0xA2, 0x42, 0xBD, 0x62, 0xF2, 0xA6, 0xCF, 0x6F, 0xC8, 0x3E]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/DirectX/headers/dxgicommon/DXGI.gen.cs b/sources/Windows/DirectX/headers/dxgicommon/DXGI.gen.cs new file mode 100644 index 0000000000..a757b63ca6 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxgicommon/DXGI.gen.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgicommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +public static partial class DXGI +{ + [NativeTypeName("#define DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN 0xffffffff")] + public const uint DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN = 0xffffffff; + + [NativeTypeName("#define DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN 0xfffffffe")] + public const uint DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN = 0xfffffffe; +} diff --git a/sources/Windows/DirectX/headers/dxgicommon/DXGI_COLOR_SPACE_TYPE.gen.cs b/sources/Windows/DirectX/headers/dxgicommon/DXGI_COLOR_SPACE_TYPE.gen.cs new file mode 100644 index 0000000000..ea94d0dbff --- /dev/null +++ b/sources/Windows/DirectX/headers/dxgicommon/DXGI_COLOR_SPACE_TYPE.gen.cs @@ -0,0 +1,115 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgicommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX; + +/// +[SupportedOSPlatform("windows10.0")] +public enum DXGI_COLOR_SPACE_TYPE +{ + /// + + DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 = 0, + + /// + + DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 = 1, + + /// + + DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 = 2, + + /// + + DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 = 3, + + /// + + DXGI_COLOR_SPACE_RESERVED = 4, + + /// + + DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 5, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 = 6, + + /// + + DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 = 7, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 = 8, + + /// + + DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10, + + /// + + DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11, + + /// + + DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 = 12, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 = 13, + + /// + + DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 = 14, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 = 15, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 = 16, + + /// + + DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 = 17, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020 = 18, + + /// + + DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020 = 19, + + /// + + DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709 = 20, + + /// + + DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020 = 21, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709 = 22, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020 = 23, + + /// + + DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020 = 24, + + /// + + DXGI_COLOR_SPACE_CUSTOM = unchecked((int)(0xFFFFFFFF)), +} diff --git a/sources/Windows/DirectX/headers/dxgicommon/DXGI_RATIONAL.gen.cs b/sources/Windows/DirectX/headers/dxgicommon/DXGI_RATIONAL.gen.cs new file mode 100644 index 0000000000..2210c3c313 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxgicommon/DXGI_RATIONAL.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgicommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct DXGI_RATIONAL +{ + /// + + public uint Numerator; + + /// + + public uint Denominator; +} diff --git a/sources/Windows/DirectX/headers/dxgicommon/DXGI_SAMPLE_DESC.gen.cs b/sources/Windows/DirectX/headers/dxgicommon/DXGI_SAMPLE_DESC.gen.cs new file mode 100644 index 0000000000..49aa3370e6 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxgicommon/DXGI_SAMPLE_DESC.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgicommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public partial struct DXGI_SAMPLE_DESC +{ + /// + + public uint Count; + + /// + + public uint Quality; +} diff --git a/sources/Windows/DirectX/headers/dxgiformat/DXGI.gen.cs b/sources/Windows/DirectX/headers/dxgiformat/DXGI.gen.cs new file mode 100644 index 0000000000..864d059bf3 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxgiformat/DXGI.gen.cs @@ -0,0 +1,10 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgiformat.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +public static partial class DXGI +{ + [NativeTypeName("#define DXGI_FORMAT_DEFINED 1")] + public const int DXGI_FORMAT_DEFINED = 1; +} diff --git a/sources/Windows/DirectX/headers/dxgiformat/DXGI_FORMAT.gen.cs b/sources/Windows/DirectX/headers/dxgiformat/DXGI_FORMAT.gen.cs new file mode 100644 index 0000000000..e31024fac4 --- /dev/null +++ b/sources/Windows/DirectX/headers/dxgiformat/DXGI_FORMAT.gen.cs @@ -0,0 +1,496 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgiformat.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +namespace Silk.NET.DirectX; + +/// +public enum DXGI_FORMAT +{ + /// + + DXGI_FORMAT_UNKNOWN = 0, + + /// + + DXGI_FORMAT_R32G32B32A32_TYPELESS = 1, + + /// + + DXGI_FORMAT_R32G32B32A32_FLOAT = 2, + + /// + + DXGI_FORMAT_R32G32B32A32_UINT = 3, + + /// + + DXGI_FORMAT_R32G32B32A32_SINT = 4, + + /// + + DXGI_FORMAT_R32G32B32_TYPELESS = 5, + + /// + + DXGI_FORMAT_R32G32B32_FLOAT = 6, + + /// + + DXGI_FORMAT_R32G32B32_UINT = 7, + + /// + + DXGI_FORMAT_R32G32B32_SINT = 8, + + /// + + DXGI_FORMAT_R16G16B16A16_TYPELESS = 9, + + /// + + DXGI_FORMAT_R16G16B16A16_FLOAT = 10, + + /// + + DXGI_FORMAT_R16G16B16A16_UNORM = 11, + + /// + + DXGI_FORMAT_R16G16B16A16_UINT = 12, + + /// + + DXGI_FORMAT_R16G16B16A16_SNORM = 13, + + /// + + DXGI_FORMAT_R16G16B16A16_SINT = 14, + + /// + + DXGI_FORMAT_R32G32_TYPELESS = 15, + + /// + + DXGI_FORMAT_R32G32_FLOAT = 16, + + /// + + DXGI_FORMAT_R32G32_UINT = 17, + + /// + + DXGI_FORMAT_R32G32_SINT = 18, + + /// + + DXGI_FORMAT_R32G8X24_TYPELESS = 19, + + /// + + DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20, + + /// + + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21, + + /// + + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22, + + /// + + DXGI_FORMAT_R10G10B10A2_TYPELESS = 23, + + /// + + DXGI_FORMAT_R10G10B10A2_UNORM = 24, + + /// + + DXGI_FORMAT_R10G10B10A2_UINT = 25, + + /// + + DXGI_FORMAT_R11G11B10_FLOAT = 26, + + /// + + DXGI_FORMAT_R8G8B8A8_TYPELESS = 27, + + /// + + DXGI_FORMAT_R8G8B8A8_UNORM = 28, + + /// + + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29, + + /// + + DXGI_FORMAT_R8G8B8A8_UINT = 30, + + /// + + DXGI_FORMAT_R8G8B8A8_SNORM = 31, + + /// + + DXGI_FORMAT_R8G8B8A8_SINT = 32, + + /// + + DXGI_FORMAT_R16G16_TYPELESS = 33, + + /// + + DXGI_FORMAT_R16G16_FLOAT = 34, + + /// + + DXGI_FORMAT_R16G16_UNORM = 35, + + /// + + DXGI_FORMAT_R16G16_UINT = 36, + + /// + + DXGI_FORMAT_R16G16_SNORM = 37, + + /// + + DXGI_FORMAT_R16G16_SINT = 38, + + /// + + DXGI_FORMAT_R32_TYPELESS = 39, + + /// + + DXGI_FORMAT_D32_FLOAT = 40, + + /// + + DXGI_FORMAT_R32_FLOAT = 41, + + /// + + DXGI_FORMAT_R32_UINT = 42, + + /// + + DXGI_FORMAT_R32_SINT = 43, + + /// + + DXGI_FORMAT_R24G8_TYPELESS = 44, + + /// + + DXGI_FORMAT_D24_UNORM_S8_UINT = 45, + + /// + + DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46, + + /// + + DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47, + + /// + + DXGI_FORMAT_R8G8_TYPELESS = 48, + + /// + + DXGI_FORMAT_R8G8_UNORM = 49, + + /// + + DXGI_FORMAT_R8G8_UINT = 50, + + /// + + DXGI_FORMAT_R8G8_SNORM = 51, + + /// + + DXGI_FORMAT_R8G8_SINT = 52, + + /// + + DXGI_FORMAT_R16_TYPELESS = 53, + + /// + + DXGI_FORMAT_R16_FLOAT = 54, + + /// + + DXGI_FORMAT_D16_UNORM = 55, + + /// + + DXGI_FORMAT_R16_UNORM = 56, + + /// + + DXGI_FORMAT_R16_UINT = 57, + + /// + + DXGI_FORMAT_R16_SNORM = 58, + + /// + + DXGI_FORMAT_R16_SINT = 59, + + /// + + DXGI_FORMAT_R8_TYPELESS = 60, + + /// + + DXGI_FORMAT_R8_UNORM = 61, + + /// + + DXGI_FORMAT_R8_UINT = 62, + + /// + + DXGI_FORMAT_R8_SNORM = 63, + + /// + + DXGI_FORMAT_R8_SINT = 64, + + /// + + DXGI_FORMAT_A8_UNORM = 65, + + /// + + DXGI_FORMAT_R1_UNORM = 66, + + /// + + DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67, + + /// + + DXGI_FORMAT_R8G8_B8G8_UNORM = 68, + + /// + + DXGI_FORMAT_G8R8_G8B8_UNORM = 69, + + /// + + DXGI_FORMAT_BC1_TYPELESS = 70, + + /// + + DXGI_FORMAT_BC1_UNORM = 71, + + /// + + DXGI_FORMAT_BC1_UNORM_SRGB = 72, + + /// + + DXGI_FORMAT_BC2_TYPELESS = 73, + + /// + + DXGI_FORMAT_BC2_UNORM = 74, + + /// + + DXGI_FORMAT_BC2_UNORM_SRGB = 75, + + /// + + DXGI_FORMAT_BC3_TYPELESS = 76, + + /// + + DXGI_FORMAT_BC3_UNORM = 77, + + /// + + DXGI_FORMAT_BC3_UNORM_SRGB = 78, + + /// + + DXGI_FORMAT_BC4_TYPELESS = 79, + + /// + + DXGI_FORMAT_BC4_UNORM = 80, + + /// + + DXGI_FORMAT_BC4_SNORM = 81, + + /// + + DXGI_FORMAT_BC5_TYPELESS = 82, + + /// + + DXGI_FORMAT_BC5_UNORM = 83, + + /// + + DXGI_FORMAT_BC5_SNORM = 84, + + /// + + DXGI_FORMAT_B5G6R5_UNORM = 85, + + /// + + DXGI_FORMAT_B5G5R5A1_UNORM = 86, + + /// + + DXGI_FORMAT_B8G8R8A8_UNORM = 87, + + /// + + DXGI_FORMAT_B8G8R8X8_UNORM = 88, + + /// + + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89, + + /// + + DXGI_FORMAT_B8G8R8A8_TYPELESS = 90, + + /// + + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91, + + /// + + DXGI_FORMAT_B8G8R8X8_TYPELESS = 92, + + /// + + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93, + + /// + + DXGI_FORMAT_BC6H_TYPELESS = 94, + + /// + + DXGI_FORMAT_BC6H_UF16 = 95, + + /// + + DXGI_FORMAT_BC6H_SF16 = 96, + + /// + + DXGI_FORMAT_BC7_TYPELESS = 97, + + /// + + DXGI_FORMAT_BC7_UNORM = 98, + + /// + + DXGI_FORMAT_BC7_UNORM_SRGB = 99, + + /// + + DXGI_FORMAT_AYUV = 100, + + /// + + DXGI_FORMAT_Y410 = 101, + + /// + + DXGI_FORMAT_Y416 = 102, + + /// + + DXGI_FORMAT_NV12 = 103, + + /// + + DXGI_FORMAT_P010 = 104, + + /// + + DXGI_FORMAT_P016 = 105, + + /// + + DXGI_FORMAT_420_OPAQUE = 106, + + /// + + DXGI_FORMAT_YUY2 = 107, + + /// + + DXGI_FORMAT_Y210 = 108, + + /// + + DXGI_FORMAT_Y216 = 109, + + /// + + DXGI_FORMAT_NV11 = 110, + + /// + + DXGI_FORMAT_AI44 = 111, + + /// + + DXGI_FORMAT_IA44 = 112, + + /// + + DXGI_FORMAT_P8 = 113, + + /// + + DXGI_FORMAT_A8P8 = 114, + + /// + + DXGI_FORMAT_B4G4R4A4_UNORM = 115, + + /// + + DXGI_FORMAT_P208 = 130, + + /// + + DXGI_FORMAT_V208 = 131, + + /// + + DXGI_FORMAT_V408 = 132, + + /// + + DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189, + + /// + + DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190, + + /// + + DXGI_FORMAT_FORCE_UINT = unchecked((int)(0xffffffff)), +} diff --git a/sources/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7.gen.cs b/sources/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7.gen.cs new file mode 100644 index 0000000000..3e3734645a --- /dev/null +++ b/sources/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7.gen.cs @@ -0,0 +1,165 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D11On12On7.h in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("00000000-0000-0000-0000-000000000000")] +[NativeTypeName("struct ID3D11On12On7 : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D11On12On7 : ID3D11On12On7.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D11On12On7)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D11On12On7*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D11On12On7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D11On12On7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetThreadDeviceCreationParams( + ID3D12Device* pDevice, + ID3D12CommandQueue* pGraphicsQueue + ) + { + ( + (delegate* unmanaged)( + lpVtbl[3] + ) + )((ID3D11On12On7*)Unsafe.AsPointer(ref this), pDevice, pGraphicsQueue); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetThreadResourceCreationParams(ID3D12Resource* pResource) + { + ((delegate* unmanaged)(lpVtbl[4]))( + (ID3D11On12On7*)Unsafe.AsPointer(ref this), + pResource + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public ID3D11On12On7Device* GetThreadLastCreatedDevice() + { + return ((delegate* unmanaged)(lpVtbl[5]))( + (ID3D11On12On7*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + [return: NativeTypeName("ID3D11On12On7Resource*")] + public void* GetThreadLastCreatedResource() + { + return ((delegate* unmanaged)(lpVtbl[6]))( + (ID3D11On12On7*)Unsafe.AsPointer(ref this) + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + void SetThreadDeviceCreationParams( + ID3D12Device* pDevice, + ID3D12CommandQueue* pGraphicsQueue + ); + + [VtblIndex(4)] + void SetThreadResourceCreationParams(ID3D12Resource* pResource); + + [VtblIndex(5)] + ID3D11On12On7Device* GetThreadLastCreatedDevice(); + + [VtblIndex(6)] + [return: NativeTypeName("ID3D11On12On7Resource*")] + void* GetThreadLastCreatedResource(); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "void (ID3D12Device *, ID3D12CommandQueue *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12Device*, + ID3D12CommandQueue*, + void> SetThreadDeviceCreationParams; + + [NativeTypeName( + "void (ID3D12Resource *) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged SetThreadResourceCreationParams; + + [NativeTypeName( + "ID3D11On12On7Device *() __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetThreadLastCreatedDevice; + + [NativeTypeName( + "ID3D11On12On7Resource *() __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged GetThreadLastCreatedResource; + } +} diff --git a/sources/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7Device.gen.cs b/sources/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7Device.gen.cs new file mode 100644 index 0000000000..7eafb0c0b5 --- /dev/null +++ b/sources/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7Device.gen.cs @@ -0,0 +1,74 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D11On12On7.h in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using Silk.NET.Windows; +using System.Runtime.CompilerServices; + +namespace Silk.NET.DirectX; + +/// +public unsafe partial struct ID3D11On12On7Device : ID3D11On12On7Device.Interface +{ + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT AcquireResource( + [NativeTypeName("ID3D11On12On7Resource*")] void* pResource, + D3D12_RESOURCE_STATES state + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[0] + ) + )((ID3D11On12On7Device*)Unsafe.AsPointer(ref this), pResource, state); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public HRESULT ReleaseResource( + [NativeTypeName("ID3D11On12On7Resource*")] void* pResource, + D3D12_RESOURCE_STATES state + ) + { + return ( + (delegate* unmanaged)( + lpVtbl[1] + ) + )((ID3D11On12On7Device*)Unsafe.AsPointer(ref this), pResource, state); + } + + public interface Interface + { + [VtblIndex(0)] + HRESULT AcquireResource( + [NativeTypeName("ID3D11On12On7Resource*")] void* pResource, + D3D12_RESOURCE_STATES state + ); + + [VtblIndex(1)] + HRESULT ReleaseResource( + [NativeTypeName("ID3D11On12On7Resource*")] void* pResource, + D3D12_RESOURCE_STATES state + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName( + "HRESULT (ID3D11On12On7Resource *, D3D12_RESOURCE_STATES) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged AcquireResource; + + [NativeTypeName( + "HRESULT (ID3D11On12On7Resource *, D3D12_RESOURCE_STATES) __attribute__((nothrow)) __attribute__((stdcall))" + )] + public delegate* unmanaged ReleaseResource; + } +} diff --git a/sources/Windows/DirectX/other/D3D12Downlevel/D3D12_DOWNLEVEL_PRESENT_FLAGS.gen.cs b/sources/Windows/DirectX/other/D3D12Downlevel/D3D12_DOWNLEVEL_PRESENT_FLAGS.gen.cs new file mode 100644 index 0000000000..8d1625ad41 --- /dev/null +++ b/sources/Windows/DirectX/other/D3D12Downlevel/D3D12_DOWNLEVEL_PRESENT_FLAGS.gen.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D12Downlevel in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using System; + +namespace Silk.NET.DirectX; + +/// +[Flags] +public enum D3D12_DOWNLEVEL_PRESENT_FLAGS +{ + /// + + D3D12_DOWNLEVEL_PRESENT_FLAG_NONE = 0, + + /// + + D3D12_DOWNLEVEL_PRESENT_FLAG_WAIT_FOR_VBLANK = (D3D12_DOWNLEVEL_PRESENT_FLAG_NONE + 1), +} diff --git a/sources/Windows/DirectX/other/D3D12Downlevel/ID3D12CommandQueueDownlevel.gen.cs b/sources/Windows/DirectX/other/D3D12Downlevel/ID3D12CommandQueueDownlevel.gen.cs new file mode 100644 index 0000000000..a15ea5d91c --- /dev/null +++ b/sources/Windows/DirectX/other/D3D12Downlevel/ID3D12CommandQueueDownlevel.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D12Downlevel in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("38A8C5EF-7CCB-4E81-914F-A6E9D072C494")] +[NativeTypeName("struct ID3D12CommandQueueDownlevel : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12CommandQueueDownlevel + : ID3D12CommandQueueDownlevel.Interface, + INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12CommandQueueDownlevel)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12CommandQueueDownlevel*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12CommandQueueDownlevel*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12CommandQueueDownlevel*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT Present( + ID3D12GraphicsCommandList* pOpenCommandList, + ID3D12Resource* pSourceTex2D, + HWND hWindow, + D3D12_DOWNLEVEL_PRESENT_FLAGS Flags + ) + { + return ( + (delegate* unmanaged< + ID3D12CommandQueueDownlevel*, + ID3D12GraphicsCommandList*, + ID3D12Resource*, + HWND, + D3D12_DOWNLEVEL_PRESENT_FLAGS, + int>)(lpVtbl[3]) + )( + (ID3D12CommandQueueDownlevel*)Unsafe.AsPointer(ref this), + pOpenCommandList, + pSourceTex2D, + hWindow, + Flags + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT Present( + ID3D12GraphicsCommandList* pOpenCommandList, + ID3D12Resource* pSourceTex2D, + HWND hWindow, + D3D12_DOWNLEVEL_PRESENT_FLAGS Flags + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (ID3D12GraphicsCommandList *, ID3D12Resource *, HWND, D3D12_DOWNLEVEL_PRESENT_FLAGS) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + ID3D12GraphicsCommandList*, + ID3D12Resource*, + HWND, + D3D12_DOWNLEVEL_PRESENT_FLAGS, + int> Present; + } +} diff --git a/sources/Windows/DirectX/other/D3D12Downlevel/ID3D12DeviceDownlevel.gen.cs b/sources/Windows/DirectX/other/D3D12Downlevel/ID3D12DeviceDownlevel.gen.cs new file mode 100644 index 0000000000..f2907c8d48 --- /dev/null +++ b/sources/Windows/DirectX/other/D3D12Downlevel/ID3D12DeviceDownlevel.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D12Downlevel in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using Silk.NET.Windows; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX; + +/// +[Guid("74EAEE3F-2F4B-476D-82BA-2B85CB49E310")] +[NativeTypeName("struct ID3D12DeviceDownlevel : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3D12DeviceDownlevel : ID3D12DeviceDownlevel.Interface, INativeGuid +{ + static Guid* INativeGuid.NativeGuid => + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12DeviceDownlevel)); + public void** lpVtbl; + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HRESULT QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged)(lpVtbl[0]))( + (ID3D12DeviceDownlevel*)Unsafe.AsPointer(ref this), + riid, + ppvObject + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged)(lpVtbl[1]))( + (ID3D12DeviceDownlevel*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged)(lpVtbl[2]))( + (ID3D12DeviceDownlevel*)Unsafe.AsPointer(ref this) + ); + } + + /// + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HRESULT QueryVideoMemoryInfo( + uint NodeIndex, + DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup, + DXGI_QUERY_VIDEO_MEMORY_INFO* pVideoMemoryInfo + ) + { + return ( + (delegate* unmanaged< + ID3D12DeviceDownlevel*, + uint, + DXGI_MEMORY_SEGMENT_GROUP, + DXGI_QUERY_VIDEO_MEMORY_INFO*, + int>)(lpVtbl[3]) + )( + (ID3D12DeviceDownlevel*)Unsafe.AsPointer(ref this), + NodeIndex, + MemorySegmentGroup, + pVideoMemoryInfo + ); + } + + public interface Interface : IUnknown.Interface + { + [VtblIndex(3)] + HRESULT QueryVideoMemoryInfo( + uint NodeIndex, + DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup, + DXGI_QUERY_VIDEO_MEMORY_INFO* pVideoMemoryInfo + ); + } + + public partial struct Vtbl + where TSelf : unmanaged, Interface + { + [NativeTypeName("HRESULT (const IID &, void **) __attribute__((stdcall))")] + public delegate* unmanaged QueryInterface; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged AddRef; + + [NativeTypeName("ULONG () __attribute__((stdcall))")] + public delegate* unmanaged Release; + + [NativeTypeName( + "HRESULT (UINT, DXGI_MEMORY_SEGMENT_GROUP, DXGI_QUERY_VIDEO_MEMORY_INFO *) __attribute__((stdcall))" + )] + public delegate* unmanaged< + TSelf*, + uint, + DXGI_MEMORY_SEGMENT_GROUP, + DXGI_QUERY_VIDEO_MEMORY_INFO*, + int> QueryVideoMemoryInfo; + } +} diff --git a/sources/Windows/DirectX/other/D3D12Downlevel/IID.gen.cs b/sources/Windows/DirectX/other/D3D12Downlevel/IID.gen.cs new file mode 100644 index 0000000000..468d6ad205 --- /dev/null +++ b/sources/Windows/DirectX/other/D3D12Downlevel/IID.gen.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D12Downlevel in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using Silk.NET.DirectX; +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; +public static partial class IID +{ + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12CommandQueueDownlevel + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0xEF, 0xC5, 0xA8, 0x38, 0xCB, 0x7C, 0x81, 0x4E, 0x91, 0x4F, 0xA6, 0xE9, 0xD0, 0x72, 0xC4, 0x94]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + [NativeTypeName("const GUID")] + public static ref readonly Guid IID_ID3D12DeviceDownlevel + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = [0x3F, 0xEE, 0xEA, 0x74, 0x4B, 0x2F, 0x6D, 0x47, 0x82, 0xBA, 0x2B, 0x85, 0xCB, 0x49, 0xE3, 0x10]; + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } +} \ No newline at end of file diff --git a/sources/Windows/Windows/other/helper-types/APARTMENT_SHUTDOWN_REGISTRATION_COOKIE.gen.cs b/sources/Windows/Windows/other/helper-types/APARTMENT_SHUTDOWN_REGISTRATION_COOKIE.gen.cs new file mode 100644 index 0000000000..31d52aed1e --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/APARTMENT_SHUTDOWN_REGISTRATION_COOKIE.gen.cs @@ -0,0 +1,155 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct APARTMENT_SHUTDOWN_REGISTRATION_COOKIE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(void* value) + { + Value = value; + } + + public static APARTMENT_SHUTDOWN_REGISTRATION_COOKIE INVALID_VALUE => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE((void*)(-1)); + public static APARTMENT_SHUTDOWN_REGISTRATION_COOKIE NULL => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(null); + + public static bool operator ==( + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE left, + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE right + ) => left.Value == right.Value; + + public static bool operator !=( + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE left, + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE right + ) => left.Value != right.Value; + + public static bool operator <( + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE left, + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE right + ) => left.Value < right.Value; + + public static bool operator <=( + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE left, + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE right + ) => left.Value <= right.Value; + + public static bool operator >( + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE left, + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE right + ) => left.Value > right.Value; + + public static bool operator >=( + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE left, + APARTMENT_SHUTDOWN_REGISTRATION_COOKIE right + ) => left.Value >= right.Value; + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(void* value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(value); + + public static implicit operator void*(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + value.Value; + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(HANDLE value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(value); + + public static implicit operator HANDLE(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + new HANDLE(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(byte value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator byte(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (byte)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(short value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator short(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (short)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(int value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator int(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (int)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(long value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator long(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (long)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(nint value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static implicit operator nint(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (nint)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(sbyte value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator sbyte(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (sbyte)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(ushort value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator ushort(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (ushort)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(uint value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator uint(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (uint)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(ulong value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator ulong(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (ulong)(value.Value); + + public static explicit operator APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(nuint value) => + new APARTMENT_SHUTDOWN_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static implicit operator nuint(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE value) => + (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is APARTMENT_SHUTDOWN_REGISTRATION_COOKIE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException( + "obj is not an instance of APARTMENT_SHUTDOWN_REGISTRATION_COOKIE." + ); + } + + public int CompareTo(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is APARTMENT_SHUTDOWN_REGISTRATION_COOKIE other) && Equals(other); + + public bool Equals(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/ASYNCCOMPLETIONHANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/ASYNCCOMPLETIONHANDLE.gen.cs new file mode 100644 index 0000000000..9654508a55 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/ASYNCCOMPLETIONHANDLE.gen.cs @@ -0,0 +1,121 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct ASYNCCOMPLETIONHANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public ASYNCCOMPLETIONHANDLE(void* value) + { + Value = value; + } + + public static ASYNCCOMPLETIONHANDLE NULL => new ASYNCCOMPLETIONHANDLE(null); + + public static bool operator ==(ASYNCCOMPLETIONHANDLE left, ASYNCCOMPLETIONHANDLE right) => + left.Value == right.Value; + + public static bool operator !=(ASYNCCOMPLETIONHANDLE left, ASYNCCOMPLETIONHANDLE right) => + left.Value != right.Value; + + public static bool operator <(ASYNCCOMPLETIONHANDLE left, ASYNCCOMPLETIONHANDLE right) => + left.Value < right.Value; + + public static bool operator <=(ASYNCCOMPLETIONHANDLE left, ASYNCCOMPLETIONHANDLE right) => + left.Value <= right.Value; + + public static bool operator >(ASYNCCOMPLETIONHANDLE left, ASYNCCOMPLETIONHANDLE right) => + left.Value > right.Value; + + public static bool operator >=(ASYNCCOMPLETIONHANDLE left, ASYNCCOMPLETIONHANDLE right) => + left.Value >= right.Value; + + public static explicit operator ASYNCCOMPLETIONHANDLE(void* value) => + new ASYNCCOMPLETIONHANDLE(value); + + public static implicit operator void*(ASYNCCOMPLETIONHANDLE value) => value.Value; + + public static explicit operator ASYNCCOMPLETIONHANDLE(byte value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator byte(ASYNCCOMPLETIONHANDLE value) => (byte)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(short value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator short(ASYNCCOMPLETIONHANDLE value) => (short)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(int value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator int(ASYNCCOMPLETIONHANDLE value) => (int)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(long value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator long(ASYNCCOMPLETIONHANDLE value) => (long)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(nint value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static implicit operator nint(ASYNCCOMPLETIONHANDLE value) => (nint)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(sbyte value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(ASYNCCOMPLETIONHANDLE value) => (sbyte)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(ushort value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(ASYNCCOMPLETIONHANDLE value) => (ushort)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(uint value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator uint(ASYNCCOMPLETIONHANDLE value) => (uint)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(ulong value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(ASYNCCOMPLETIONHANDLE value) => (ulong)(value.Value); + + public static explicit operator ASYNCCOMPLETIONHANDLE(nuint value) => + new ASYNCCOMPLETIONHANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(ASYNCCOMPLETIONHANDLE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is ASYNCCOMPLETIONHANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of ASYNCCOMPLETIONHANDLE."); + } + + public int CompareTo(ASYNCCOMPLETIONHANDLE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is ASYNCCOMPLETIONHANDLE other) && Equals(other); + + public bool Equals(ASYNCCOMPLETIONHANDLE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/BOOL.gen.cs b/sources/Windows/Windows/other/helper-types/BOOL.gen.cs new file mode 100644 index 0000000000..a185588dd0 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/BOOL.gen.cs @@ -0,0 +1,99 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly partial struct BOOL : IComparable, IComparable, IEquatable, IFormattable +{ + public readonly int Value; + + public BOOL(int value) + { + Value = value; + } + + public static BOOL FALSE => new BOOL(0); + public static BOOL TRUE => new BOOL(1); + + public static bool operator ==(BOOL left, BOOL right) => left.Value == right.Value; + + public static bool operator !=(BOOL left, BOOL right) => left.Value != right.Value; + + public static bool operator <(BOOL left, BOOL right) => left.Value < right.Value; + + public static bool operator <=(BOOL left, BOOL right) => left.Value <= right.Value; + + public static bool operator >(BOOL left, BOOL right) => left.Value > right.Value; + + public static bool operator >=(BOOL left, BOOL right) => left.Value >= right.Value; + + public static implicit operator bool(BOOL value) => value.Value != 0; + + public static implicit operator BOOL(bool value) => new BOOL(value ? 1 : 0); + + public static bool operator false(BOOL value) => value.Value == 0; + + public static bool operator true(BOOL value) => value.Value != 0; + + public static implicit operator BOOL(byte value) => new BOOL(value); + + public static explicit operator byte(BOOL value) => (byte)(value.Value); + + public static implicit operator BOOL(short value) => new BOOL(value); + + public static explicit operator short(BOOL value) => (short)(value.Value); + + public static implicit operator BOOL(int value) => new BOOL(value); + + public static implicit operator int(BOOL value) => value.Value; + + public static explicit operator BOOL(long value) => new BOOL(unchecked((int)(value))); + + public static implicit operator long(BOOL value) => value.Value; + + public static explicit operator BOOL(nint value) => new BOOL(unchecked((int)(value))); + + public static implicit operator nint(BOOL value) => value.Value; + + public static implicit operator BOOL(sbyte value) => new BOOL(value); + + public static explicit operator sbyte(BOOL value) => (sbyte)(value.Value); + + public static implicit operator BOOL(ushort value) => new BOOL(value); + + public static explicit operator ushort(BOOL value) => (ushort)(value.Value); + + public static explicit operator BOOL(uint value) => new BOOL(unchecked((int)(value))); + + public static explicit operator uint(BOOL value) => (uint)(value.Value); + + public static explicit operator BOOL(ulong value) => new BOOL(unchecked((int)(value))); + + public static explicit operator ulong(BOOL value) => (ulong)(value.Value); + + public static explicit operator BOOL(nuint value) => new BOOL(unchecked((int)(value))); + + public static explicit operator nuint(BOOL value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is BOOL other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of BOOL."); + } + + public int CompareTo(BOOL other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is BOOL other) && Equals(other); + + public bool Equals(BOOL other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString(); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/COLORREF.gen.cs b/sources/Windows/Windows/other/helper-types/COLORREF.gen.cs new file mode 100644 index 0000000000..35a4f2a546 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/COLORREF.gen.cs @@ -0,0 +1,94 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct COLORREF + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly uint Value; + + public COLORREF(uint value) + { + Value = value; + } + + public static bool operator ==(COLORREF left, COLORREF right) => left.Value == right.Value; + + public static bool operator !=(COLORREF left, COLORREF right) => left.Value != right.Value; + + public static bool operator <(COLORREF left, COLORREF right) => left.Value < right.Value; + + public static bool operator <=(COLORREF left, COLORREF right) => left.Value <= right.Value; + + public static bool operator >(COLORREF left, COLORREF right) => left.Value > right.Value; + + public static bool operator >=(COLORREF left, COLORREF right) => left.Value >= right.Value; + + public static implicit operator COLORREF(byte value) => new COLORREF(value); + + public static explicit operator byte(COLORREF value) => (byte)(value.Value); + + public static explicit operator COLORREF(short value) => new COLORREF(unchecked((uint)(value))); + + public static explicit operator short(COLORREF value) => (short)(value.Value); + + public static explicit operator COLORREF(int value) => new COLORREF(unchecked((uint)(value))); + + public static explicit operator int(COLORREF value) => (int)(value.Value); + + public static explicit operator COLORREF(long value) => new COLORREF(unchecked((uint)(value))); + + public static implicit operator long(COLORREF value) => value.Value; + + public static explicit operator COLORREF(nint value) => new COLORREF(unchecked((uint)(value))); + + public static explicit operator nint(COLORREF value) => (nint)(value.Value); + + public static explicit operator COLORREF(sbyte value) => new COLORREF(unchecked((uint)(value))); + + public static explicit operator sbyte(COLORREF value) => (sbyte)(value.Value); + + public static implicit operator COLORREF(ushort value) => new COLORREF(value); + + public static explicit operator ushort(COLORREF value) => (ushort)(value.Value); + + public static implicit operator COLORREF(uint value) => new COLORREF(value); + + public static implicit operator uint(COLORREF value) => value.Value; + + public static explicit operator COLORREF(ulong value) => new COLORREF(unchecked((uint)(value))); + + public static implicit operator ulong(COLORREF value) => value.Value; + + public static explicit operator COLORREF(nuint value) => new COLORREF(unchecked((uint)(value))); + + public static implicit operator nuint(COLORREF value) => value.Value; + + public int CompareTo(object? obj) + { + if (obj is COLORREF other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of COLORREF."); + } + + public int CompareTo(COLORREF other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is COLORREF other) && Equals(other); + + public bool Equals(COLORREF other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString("X8"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/COMPRESSOR_HANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/COMPRESSOR_HANDLE.gen.cs new file mode 100644 index 0000000000..f028544d5a --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/COMPRESSOR_HANDLE.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct COMPRESSOR_HANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public COMPRESSOR_HANDLE(void* value) + { + Value = value; + } + + public static COMPRESSOR_HANDLE INVALID_VALUE => new COMPRESSOR_HANDLE((void*)(-1)); + public static COMPRESSOR_HANDLE NULL => new COMPRESSOR_HANDLE(null); + + public static bool operator ==(COMPRESSOR_HANDLE left, COMPRESSOR_HANDLE right) => + left.Value == right.Value; + + public static bool operator !=(COMPRESSOR_HANDLE left, COMPRESSOR_HANDLE right) => + left.Value != right.Value; + + public static bool operator <(COMPRESSOR_HANDLE left, COMPRESSOR_HANDLE right) => + left.Value < right.Value; + + public static bool operator <=(COMPRESSOR_HANDLE left, COMPRESSOR_HANDLE right) => + left.Value <= right.Value; + + public static bool operator >(COMPRESSOR_HANDLE left, COMPRESSOR_HANDLE right) => + left.Value > right.Value; + + public static bool operator >=(COMPRESSOR_HANDLE left, COMPRESSOR_HANDLE right) => + left.Value >= right.Value; + + public static explicit operator COMPRESSOR_HANDLE(void* value) => new COMPRESSOR_HANDLE(value); + + public static implicit operator void*(COMPRESSOR_HANDLE value) => value.Value; + + public static explicit operator COMPRESSOR_HANDLE(HANDLE value) => new COMPRESSOR_HANDLE(value); + + public static implicit operator HANDLE(COMPRESSOR_HANDLE value) => new HANDLE(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(byte value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator byte(COMPRESSOR_HANDLE value) => (byte)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(short value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator short(COMPRESSOR_HANDLE value) => (short)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(int value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator int(COMPRESSOR_HANDLE value) => (int)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(long value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator long(COMPRESSOR_HANDLE value) => (long)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(nint value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static implicit operator nint(COMPRESSOR_HANDLE value) => (nint)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(sbyte value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(COMPRESSOR_HANDLE value) => (sbyte)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(ushort value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(COMPRESSOR_HANDLE value) => (ushort)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(uint value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator uint(COMPRESSOR_HANDLE value) => (uint)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(ulong value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(COMPRESSOR_HANDLE value) => (ulong)(value.Value); + + public static explicit operator COMPRESSOR_HANDLE(nuint value) => + new COMPRESSOR_HANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(COMPRESSOR_HANDLE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is COMPRESSOR_HANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of COMPRESSOR_HANDLE."); + } + + public int CompareTo(COMPRESSOR_HANDLE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is COMPRESSOR_HANDLE other) && Equals(other); + + public bool Equals(COMPRESSOR_HANDLE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/CO_DEVICE_CATALOG_COOKIE.gen.cs b/sources/Windows/Windows/other/helper-types/CO_DEVICE_CATALOG_COOKIE.gen.cs new file mode 100644 index 0000000000..032d6634ac --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/CO_DEVICE_CATALOG_COOKIE.gen.cs @@ -0,0 +1,129 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct CO_DEVICE_CATALOG_COOKIE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public CO_DEVICE_CATALOG_COOKIE(void* value) + { + Value = value; + } + + public static CO_DEVICE_CATALOG_COOKIE INVALID_VALUE => + new CO_DEVICE_CATALOG_COOKIE((void*)(-1)); + public static CO_DEVICE_CATALOG_COOKIE NULL => new CO_DEVICE_CATALOG_COOKIE(null); + + public static bool operator ==(CO_DEVICE_CATALOG_COOKIE left, CO_DEVICE_CATALOG_COOKIE right) => + left.Value == right.Value; + + public static bool operator !=(CO_DEVICE_CATALOG_COOKIE left, CO_DEVICE_CATALOG_COOKIE right) => + left.Value != right.Value; + + public static bool operator <(CO_DEVICE_CATALOG_COOKIE left, CO_DEVICE_CATALOG_COOKIE right) => + left.Value < right.Value; + + public static bool operator <=(CO_DEVICE_CATALOG_COOKIE left, CO_DEVICE_CATALOG_COOKIE right) => + left.Value <= right.Value; + + public static bool operator >(CO_DEVICE_CATALOG_COOKIE left, CO_DEVICE_CATALOG_COOKIE right) => + left.Value > right.Value; + + public static bool operator >=(CO_DEVICE_CATALOG_COOKIE left, CO_DEVICE_CATALOG_COOKIE right) => + left.Value >= right.Value; + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(void* value) => + new CO_DEVICE_CATALOG_COOKIE(value); + + public static implicit operator void*(CO_DEVICE_CATALOG_COOKIE value) => value.Value; + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(HANDLE value) => + new CO_DEVICE_CATALOG_COOKIE(value); + + public static implicit operator HANDLE(CO_DEVICE_CATALOG_COOKIE value) => + new HANDLE(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(byte value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator byte(CO_DEVICE_CATALOG_COOKIE value) => (byte)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(short value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator short(CO_DEVICE_CATALOG_COOKIE value) => (short)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(int value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator int(CO_DEVICE_CATALOG_COOKIE value) => (int)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(long value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator long(CO_DEVICE_CATALOG_COOKIE value) => (long)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(nint value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static implicit operator nint(CO_DEVICE_CATALOG_COOKIE value) => (nint)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(sbyte value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator sbyte(CO_DEVICE_CATALOG_COOKIE value) => (sbyte)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(ushort value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator ushort(CO_DEVICE_CATALOG_COOKIE value) => (ushort)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(uint value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator uint(CO_DEVICE_CATALOG_COOKIE value) => (uint)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(ulong value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static explicit operator ulong(CO_DEVICE_CATALOG_COOKIE value) => (ulong)(value.Value); + + public static explicit operator CO_DEVICE_CATALOG_COOKIE(nuint value) => + new CO_DEVICE_CATALOG_COOKIE(unchecked((void*)(value))); + + public static implicit operator nuint(CO_DEVICE_CATALOG_COOKIE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is CO_DEVICE_CATALOG_COOKIE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of CO_DEVICE_CATALOG_COOKIE."); + } + + public int CompareTo(CO_DEVICE_CATALOG_COOKIE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is CO_DEVICE_CATALOG_COOKIE other) && Equals(other); + + public bool Equals(CO_DEVICE_CATALOG_COOKIE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/CO_MTA_USAGE_COOKIE.gen.cs b/sources/Windows/Windows/other/helper-types/CO_MTA_USAGE_COOKIE.gen.cs new file mode 100644 index 0000000000..427cb5b639 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/CO_MTA_USAGE_COOKIE.gen.cs @@ -0,0 +1,125 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct CO_MTA_USAGE_COOKIE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public CO_MTA_USAGE_COOKIE(void* value) + { + Value = value; + } + + public static CO_MTA_USAGE_COOKIE INVALID_VALUE => new CO_MTA_USAGE_COOKIE((void*)(-1)); + public static CO_MTA_USAGE_COOKIE NULL => new CO_MTA_USAGE_COOKIE(null); + + public static bool operator ==(CO_MTA_USAGE_COOKIE left, CO_MTA_USAGE_COOKIE right) => + left.Value == right.Value; + + public static bool operator !=(CO_MTA_USAGE_COOKIE left, CO_MTA_USAGE_COOKIE right) => + left.Value != right.Value; + + public static bool operator <(CO_MTA_USAGE_COOKIE left, CO_MTA_USAGE_COOKIE right) => + left.Value < right.Value; + + public static bool operator <=(CO_MTA_USAGE_COOKIE left, CO_MTA_USAGE_COOKIE right) => + left.Value <= right.Value; + + public static bool operator >(CO_MTA_USAGE_COOKIE left, CO_MTA_USAGE_COOKIE right) => + left.Value > right.Value; + + public static bool operator >=(CO_MTA_USAGE_COOKIE left, CO_MTA_USAGE_COOKIE right) => + left.Value >= right.Value; + + public static explicit operator CO_MTA_USAGE_COOKIE(void* value) => + new CO_MTA_USAGE_COOKIE(value); + + public static implicit operator void*(CO_MTA_USAGE_COOKIE value) => value.Value; + + public static explicit operator CO_MTA_USAGE_COOKIE(HANDLE value) => + new CO_MTA_USAGE_COOKIE(value); + + public static implicit operator HANDLE(CO_MTA_USAGE_COOKIE value) => new HANDLE(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(byte value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator byte(CO_MTA_USAGE_COOKIE value) => (byte)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(short value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator short(CO_MTA_USAGE_COOKIE value) => (short)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(int value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator int(CO_MTA_USAGE_COOKIE value) => (int)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(long value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator long(CO_MTA_USAGE_COOKIE value) => (long)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(nint value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static implicit operator nint(CO_MTA_USAGE_COOKIE value) => (nint)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(sbyte value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator sbyte(CO_MTA_USAGE_COOKIE value) => (sbyte)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(ushort value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator ushort(CO_MTA_USAGE_COOKIE value) => (ushort)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(uint value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator uint(CO_MTA_USAGE_COOKIE value) => (uint)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(ulong value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static explicit operator ulong(CO_MTA_USAGE_COOKIE value) => (ulong)(value.Value); + + public static explicit operator CO_MTA_USAGE_COOKIE(nuint value) => + new CO_MTA_USAGE_COOKIE(unchecked((void*)(value))); + + public static implicit operator nuint(CO_MTA_USAGE_COOKIE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is CO_MTA_USAGE_COOKIE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of CO_MTA_USAGE_COOKIE."); + } + + public int CompareTo(CO_MTA_USAGE_COOKIE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is CO_MTA_USAGE_COOKIE other) && Equals(other); + + public bool Equals(CO_MTA_USAGE_COOKIE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/DPI_AWARENESS_CONTEXT.gen.cs b/sources/Windows/Windows/other/helper-types/DPI_AWARENESS_CONTEXT.gen.cs new file mode 100644 index 0000000000..6704aa0525 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/DPI_AWARENESS_CONTEXT.gen.cs @@ -0,0 +1,127 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct DPI_AWARENESS_CONTEXT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public DPI_AWARENESS_CONTEXT(void* value) + { + Value = value; + } + + public static DPI_AWARENESS_CONTEXT INVALID_VALUE => new DPI_AWARENESS_CONTEXT((void*)(-1)); + public static DPI_AWARENESS_CONTEXT NULL => new DPI_AWARENESS_CONTEXT(null); + + public static bool operator ==(DPI_AWARENESS_CONTEXT left, DPI_AWARENESS_CONTEXT right) => + left.Value == right.Value; + + public static bool operator !=(DPI_AWARENESS_CONTEXT left, DPI_AWARENESS_CONTEXT right) => + left.Value != right.Value; + + public static bool operator <(DPI_AWARENESS_CONTEXT left, DPI_AWARENESS_CONTEXT right) => + left.Value < right.Value; + + public static bool operator <=(DPI_AWARENESS_CONTEXT left, DPI_AWARENESS_CONTEXT right) => + left.Value <= right.Value; + + public static bool operator >(DPI_AWARENESS_CONTEXT left, DPI_AWARENESS_CONTEXT right) => + left.Value > right.Value; + + public static bool operator >=(DPI_AWARENESS_CONTEXT left, DPI_AWARENESS_CONTEXT right) => + left.Value >= right.Value; + + public static explicit operator DPI_AWARENESS_CONTEXT(void* value) => + new DPI_AWARENESS_CONTEXT(value); + + public static implicit operator void*(DPI_AWARENESS_CONTEXT value) => value.Value; + + public static explicit operator DPI_AWARENESS_CONTEXT(HANDLE value) => + new DPI_AWARENESS_CONTEXT(value); + + public static implicit operator HANDLE(DPI_AWARENESS_CONTEXT value) => new HANDLE(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(byte value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator byte(DPI_AWARENESS_CONTEXT value) => (byte)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(short value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator short(DPI_AWARENESS_CONTEXT value) => (short)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(int value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator int(DPI_AWARENESS_CONTEXT value) => (int)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(long value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator long(DPI_AWARENESS_CONTEXT value) => (long)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(nint value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static implicit operator nint(DPI_AWARENESS_CONTEXT value) => (nint)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(sbyte value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator sbyte(DPI_AWARENESS_CONTEXT value) => (sbyte)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(ushort value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator ushort(DPI_AWARENESS_CONTEXT value) => (ushort)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(uint value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator uint(DPI_AWARENESS_CONTEXT value) => (uint)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(ulong value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static explicit operator ulong(DPI_AWARENESS_CONTEXT value) => (ulong)(value.Value); + + public static explicit operator DPI_AWARENESS_CONTEXT(nuint value) => + new DPI_AWARENESS_CONTEXT(unchecked((void*)(value))); + + public static implicit operator nuint(DPI_AWARENESS_CONTEXT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is DPI_AWARENESS_CONTEXT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of DPI_AWARENESS_CONTEXT."); + } + + public int CompareTo(DPI_AWARENESS_CONTEXT other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is DPI_AWARENESS_CONTEXT other) && Equals(other); + + public bool Equals(DPI_AWARENESS_CONTEXT other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/EC_HANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/EC_HANDLE.gen.cs new file mode 100644 index 0000000000..9ccfffa627 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/EC_HANDLE.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct EC_HANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public EC_HANDLE(void* value) + { + Value = value; + } + + public static EC_HANDLE INVALID_VALUE => new EC_HANDLE((void*)(-1)); + public static EC_HANDLE NULL => new EC_HANDLE(null); + + public static bool operator ==(EC_HANDLE left, EC_HANDLE right) => left.Value == right.Value; + + public static bool operator !=(EC_HANDLE left, EC_HANDLE right) => left.Value != right.Value; + + public static bool operator <(EC_HANDLE left, EC_HANDLE right) => left.Value < right.Value; + + public static bool operator <=(EC_HANDLE left, EC_HANDLE right) => left.Value <= right.Value; + + public static bool operator >(EC_HANDLE left, EC_HANDLE right) => left.Value > right.Value; + + public static bool operator >=(EC_HANDLE left, EC_HANDLE right) => left.Value >= right.Value; + + public static explicit operator EC_HANDLE(void* value) => new EC_HANDLE(value); + + public static implicit operator void*(EC_HANDLE value) => value.Value; + + public static explicit operator EC_HANDLE(HANDLE value) => new EC_HANDLE(value); + + public static implicit operator HANDLE(EC_HANDLE value) => new HANDLE(value.Value); + + public static explicit operator EC_HANDLE(byte value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator byte(EC_HANDLE value) => (byte)(value.Value); + + public static explicit operator EC_HANDLE(short value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator short(EC_HANDLE value) => (short)(value.Value); + + public static explicit operator EC_HANDLE(int value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator int(EC_HANDLE value) => (int)(value.Value); + + public static explicit operator EC_HANDLE(long value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator long(EC_HANDLE value) => (long)(value.Value); + + public static explicit operator EC_HANDLE(nint value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static implicit operator nint(EC_HANDLE value) => (nint)(value.Value); + + public static explicit operator EC_HANDLE(sbyte value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(EC_HANDLE value) => (sbyte)(value.Value); + + public static explicit operator EC_HANDLE(ushort value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(EC_HANDLE value) => (ushort)(value.Value); + + public static explicit operator EC_HANDLE(uint value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator uint(EC_HANDLE value) => (uint)(value.Value); + + public static explicit operator EC_HANDLE(ulong value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(EC_HANDLE value) => (ulong)(value.Value); + + public static explicit operator EC_HANDLE(nuint value) => + new EC_HANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(EC_HANDLE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is EC_HANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of EC_HANDLE."); + } + + public int CompareTo(EC_HANDLE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is EC_HANDLE other) && Equals(other); + + public bool Equals(EC_HANDLE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/EC_OBJECT_ARRAY_PROPERTY_HANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/EC_OBJECT_ARRAY_PROPERTY_HANDLE.gen.cs new file mode 100644 index 0000000000..aad9803e66 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/EC_OBJECT_ARRAY_PROPERTY_HANDLE.gen.cs @@ -0,0 +1,153 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct EC_OBJECT_ARRAY_PROPERTY_HANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public EC_OBJECT_ARRAY_PROPERTY_HANDLE(void* value) + { + Value = value; + } + + public static EC_OBJECT_ARRAY_PROPERTY_HANDLE INVALID_VALUE => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE((void*)(-1)); + public static EC_OBJECT_ARRAY_PROPERTY_HANDLE NULL => new EC_OBJECT_ARRAY_PROPERTY_HANDLE(null); + + public static bool operator ==( + EC_OBJECT_ARRAY_PROPERTY_HANDLE left, + EC_OBJECT_ARRAY_PROPERTY_HANDLE right + ) => left.Value == right.Value; + + public static bool operator !=( + EC_OBJECT_ARRAY_PROPERTY_HANDLE left, + EC_OBJECT_ARRAY_PROPERTY_HANDLE right + ) => left.Value != right.Value; + + public static bool operator <( + EC_OBJECT_ARRAY_PROPERTY_HANDLE left, + EC_OBJECT_ARRAY_PROPERTY_HANDLE right + ) => left.Value < right.Value; + + public static bool operator <=( + EC_OBJECT_ARRAY_PROPERTY_HANDLE left, + EC_OBJECT_ARRAY_PROPERTY_HANDLE right + ) => left.Value <= right.Value; + + public static bool operator >( + EC_OBJECT_ARRAY_PROPERTY_HANDLE left, + EC_OBJECT_ARRAY_PROPERTY_HANDLE right + ) => left.Value > right.Value; + + public static bool operator >=( + EC_OBJECT_ARRAY_PROPERTY_HANDLE left, + EC_OBJECT_ARRAY_PROPERTY_HANDLE right + ) => left.Value >= right.Value; + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(void* value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(value); + + public static implicit operator void*(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => value.Value; + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(HANDLE value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(value); + + public static implicit operator HANDLE(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + new HANDLE(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(byte value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator byte(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (byte)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(short value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator short(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (short)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(int value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator int(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (int)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(long value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator long(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (long)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(nint value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static implicit operator nint(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (nint)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(sbyte value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (sbyte)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(ushort value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (ushort)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(uint value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator uint(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (uint)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(ulong value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (ulong)(value.Value); + + public static explicit operator EC_OBJECT_ARRAY_PROPERTY_HANDLE(nuint value) => + new EC_OBJECT_ARRAY_PROPERTY_HANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(EC_OBJECT_ARRAY_PROPERTY_HANDLE value) => + (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is EC_OBJECT_ARRAY_PROPERTY_HANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException( + "obj is not an instance of EC_OBJECT_ARRAY_PROPERTY_HANDLE." + ); + } + + public int CompareTo(EC_OBJECT_ARRAY_PROPERTY_HANDLE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is EC_OBJECT_ARRAY_PROPERTY_HANDLE other) && Equals(other); + + public bool Equals(EC_OBJECT_ARRAY_PROPERTY_HANDLE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HACCEL.gen.cs b/sources/Windows/Windows/other/helper-types/HACCEL.gen.cs new file mode 100644 index 0000000000..68449c6660 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HACCEL.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HACCEL + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HACCEL(void* value) + { + Value = value; + } + + public static HACCEL INVALID_VALUE => new HACCEL((void*)(-1)); + public static HACCEL NULL => new HACCEL(null); + + public static bool operator ==(HACCEL left, HACCEL right) => left.Value == right.Value; + + public static bool operator !=(HACCEL left, HACCEL right) => left.Value != right.Value; + + public static bool operator <(HACCEL left, HACCEL right) => left.Value < right.Value; + + public static bool operator <=(HACCEL left, HACCEL right) => left.Value <= right.Value; + + public static bool operator >(HACCEL left, HACCEL right) => left.Value > right.Value; + + public static bool operator >=(HACCEL left, HACCEL right) => left.Value >= right.Value; + + public static explicit operator HACCEL(void* value) => new HACCEL(value); + + public static implicit operator void*(HACCEL value) => value.Value; + + public static explicit operator HACCEL(HANDLE value) => new HACCEL(value); + + public static implicit operator HANDLE(HACCEL value) => new HANDLE(value.Value); + + public static explicit operator HACCEL(byte value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator byte(HACCEL value) => (byte)(value.Value); + + public static explicit operator HACCEL(short value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator short(HACCEL value) => (short)(value.Value); + + public static explicit operator HACCEL(int value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator int(HACCEL value) => (int)(value.Value); + + public static explicit operator HACCEL(long value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator long(HACCEL value) => (long)(value.Value); + + public static explicit operator HACCEL(nint value) => new HACCEL(unchecked((void*)(value))); + + public static implicit operator nint(HACCEL value) => (nint)(value.Value); + + public static explicit operator HACCEL(sbyte value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator sbyte(HACCEL value) => (sbyte)(value.Value); + + public static explicit operator HACCEL(ushort value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator ushort(HACCEL value) => (ushort)(value.Value); + + public static explicit operator HACCEL(uint value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator uint(HACCEL value) => (uint)(value.Value); + + public static explicit operator HACCEL(ulong value) => new HACCEL(unchecked((void*)(value))); + + public static explicit operator ulong(HACCEL value) => (ulong)(value.Value); + + public static explicit operator HACCEL(nuint value) => new HACCEL(unchecked((void*)(value))); + + public static implicit operator nuint(HACCEL value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HACCEL other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HACCEL."); + } + + public int CompareTo(HACCEL other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HACCEL other) && Equals(other); + + public bool Equals(HACCEL other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/HANDLE.gen.cs new file mode 100644 index 0000000000..6dabd1bec7 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HANDLE.gen.cs @@ -0,0 +1,100 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HANDLE(void* value) + { + Value = value; + } + + public static HANDLE INVALID_VALUE => new HANDLE((void*)(-1)); + public static HANDLE NULL => new HANDLE(null); + + public static bool operator ==(HANDLE left, HANDLE right) => left.Value == right.Value; + + public static bool operator !=(HANDLE left, HANDLE right) => left.Value != right.Value; + + public static bool operator <(HANDLE left, HANDLE right) => left.Value < right.Value; + + public static bool operator <=(HANDLE left, HANDLE right) => left.Value <= right.Value; + + public static bool operator >(HANDLE left, HANDLE right) => left.Value > right.Value; + + public static bool operator >=(HANDLE left, HANDLE right) => left.Value >= right.Value; + + public static explicit operator HANDLE(void* value) => new HANDLE(value); + + public static implicit operator void*(HANDLE value) => value.Value; + + public static explicit operator HANDLE(byte value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator byte(HANDLE value) => (byte)(value.Value); + + public static explicit operator HANDLE(short value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator short(HANDLE value) => (short)(value.Value); + + public static explicit operator HANDLE(int value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator int(HANDLE value) => (int)(value.Value); + + public static explicit operator HANDLE(long value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator long(HANDLE value) => (long)(value.Value); + + public static explicit operator HANDLE(nint value) => new HANDLE(unchecked((void*)(value))); + + public static implicit operator nint(HANDLE value) => (nint)(value.Value); + + public static explicit operator HANDLE(sbyte value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(HANDLE value) => (sbyte)(value.Value); + + public static explicit operator HANDLE(ushort value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(HANDLE value) => (ushort)(value.Value); + + public static explicit operator HANDLE(uint value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator uint(HANDLE value) => (uint)(value.Value); + + public static explicit operator HANDLE(ulong value) => new HANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(HANDLE value) => (ulong)(value.Value); + + public static explicit operator HANDLE(nuint value) => new HANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(HANDLE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HANDLE other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HANDLE."); + } + + public int CompareTo(HANDLE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HANDLE other) && Equals(other); + + public bool Equals(HANDLE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HANDLE_PTR.gen.cs b/sources/Windows/Windows/other/helper-types/HANDLE_PTR.gen.cs new file mode 100644 index 0000000000..9a6b8a380d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HANDLE_PTR.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HANDLE_PTR + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HANDLE_PTR(void* value) + { + Value = value; + } + + public static HANDLE_PTR NULL => new HANDLE_PTR(null); + + public static bool operator ==(HANDLE_PTR left, HANDLE_PTR right) => left.Value == right.Value; + + public static bool operator !=(HANDLE_PTR left, HANDLE_PTR right) => left.Value != right.Value; + + public static bool operator <(HANDLE_PTR left, HANDLE_PTR right) => left.Value < right.Value; + + public static bool operator <=(HANDLE_PTR left, HANDLE_PTR right) => left.Value <= right.Value; + + public static bool operator >(HANDLE_PTR left, HANDLE_PTR right) => left.Value > right.Value; + + public static bool operator >=(HANDLE_PTR left, HANDLE_PTR right) => left.Value >= right.Value; + + public static explicit operator HANDLE_PTR(void* value) => new HANDLE_PTR(value); + + public static implicit operator void*(HANDLE_PTR value) => value.Value; + + public static explicit operator HANDLE_PTR(byte value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator byte(HANDLE_PTR value) => (byte)(value.Value); + + public static explicit operator HANDLE_PTR(short value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator short(HANDLE_PTR value) => (short)(value.Value); + + public static explicit operator HANDLE_PTR(int value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator int(HANDLE_PTR value) => (int)(value.Value); + + public static explicit operator HANDLE_PTR(long value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator long(HANDLE_PTR value) => (long)(value.Value); + + public static explicit operator HANDLE_PTR(nint value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static implicit operator nint(HANDLE_PTR value) => (nint)(value.Value); + + public static explicit operator HANDLE_PTR(sbyte value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator sbyte(HANDLE_PTR value) => (sbyte)(value.Value); + + public static explicit operator HANDLE_PTR(ushort value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator ushort(HANDLE_PTR value) => (ushort)(value.Value); + + public static explicit operator HANDLE_PTR(uint value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator uint(HANDLE_PTR value) => (uint)(value.Value); + + public static explicit operator HANDLE_PTR(ulong value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static explicit operator ulong(HANDLE_PTR value) => (ulong)(value.Value); + + public static explicit operator HANDLE_PTR(nuint value) => + new HANDLE_PTR(unchecked((void*)(value))); + + public static implicit operator nuint(HANDLE_PTR value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HANDLE_PTR other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HANDLE_PTR."); + } + + public int CompareTo(HANDLE_PTR other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HANDLE_PTR other) && Equals(other); + + public bool Equals(HANDLE_PTR other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HANIMATIONBUFFER.gen.cs b/sources/Windows/Windows/other/helper-types/HANIMATIONBUFFER.gen.cs new file mode 100644 index 0000000000..28a8f8817b --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HANIMATIONBUFFER.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HANIMATIONBUFFER + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HANIMATIONBUFFER(void* value) + { + Value = value; + } + + public static HANIMATIONBUFFER INVALID_VALUE => new HANIMATIONBUFFER((void*)(-1)); + public static HANIMATIONBUFFER NULL => new HANIMATIONBUFFER(null); + + public static bool operator ==(HANIMATIONBUFFER left, HANIMATIONBUFFER right) => + left.Value == right.Value; + + public static bool operator !=(HANIMATIONBUFFER left, HANIMATIONBUFFER right) => + left.Value != right.Value; + + public static bool operator <(HANIMATIONBUFFER left, HANIMATIONBUFFER right) => + left.Value < right.Value; + + public static bool operator <=(HANIMATIONBUFFER left, HANIMATIONBUFFER right) => + left.Value <= right.Value; + + public static bool operator >(HANIMATIONBUFFER left, HANIMATIONBUFFER right) => + left.Value > right.Value; + + public static bool operator >=(HANIMATIONBUFFER left, HANIMATIONBUFFER right) => + left.Value >= right.Value; + + public static explicit operator HANIMATIONBUFFER(void* value) => new HANIMATIONBUFFER(value); + + public static implicit operator void*(HANIMATIONBUFFER value) => value.Value; + + public static explicit operator HANIMATIONBUFFER(HANDLE value) => new HANIMATIONBUFFER(value); + + public static implicit operator HANDLE(HANIMATIONBUFFER value) => new HANDLE(value.Value); + + public static explicit operator HANIMATIONBUFFER(byte value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator byte(HANIMATIONBUFFER value) => (byte)(value.Value); + + public static explicit operator HANIMATIONBUFFER(short value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator short(HANIMATIONBUFFER value) => (short)(value.Value); + + public static explicit operator HANIMATIONBUFFER(int value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator int(HANIMATIONBUFFER value) => (int)(value.Value); + + public static explicit operator HANIMATIONBUFFER(long value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator long(HANIMATIONBUFFER value) => (long)(value.Value); + + public static explicit operator HANIMATIONBUFFER(nint value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static implicit operator nint(HANIMATIONBUFFER value) => (nint)(value.Value); + + public static explicit operator HANIMATIONBUFFER(sbyte value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator sbyte(HANIMATIONBUFFER value) => (sbyte)(value.Value); + + public static explicit operator HANIMATIONBUFFER(ushort value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator ushort(HANIMATIONBUFFER value) => (ushort)(value.Value); + + public static explicit operator HANIMATIONBUFFER(uint value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator uint(HANIMATIONBUFFER value) => (uint)(value.Value); + + public static explicit operator HANIMATIONBUFFER(ulong value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static explicit operator ulong(HANIMATIONBUFFER value) => (ulong)(value.Value); + + public static explicit operator HANIMATIONBUFFER(nuint value) => + new HANIMATIONBUFFER(unchecked((void*)(value))); + + public static implicit operator nuint(HANIMATIONBUFFER value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HANIMATIONBUFFER other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HANIMATIONBUFFER."); + } + + public int CompareTo(HANIMATIONBUFFER other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HANIMATIONBUFFER other) && Equals(other); + + public bool Equals(HANIMATIONBUFFER other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HBITMAP.gen.cs b/sources/Windows/Windows/other/helper-types/HBITMAP.gen.cs new file mode 100644 index 0000000000..7ce1a34c69 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HBITMAP.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HBITMAP + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HBITMAP(void* value) + { + Value = value; + } + + public static HBITMAP INVALID_VALUE => new HBITMAP((void*)(-1)); + public static HBITMAP NULL => new HBITMAP(null); + + public static bool operator ==(HBITMAP left, HBITMAP right) => left.Value == right.Value; + + public static bool operator !=(HBITMAP left, HBITMAP right) => left.Value != right.Value; + + public static bool operator <(HBITMAP left, HBITMAP right) => left.Value < right.Value; + + public static bool operator <=(HBITMAP left, HBITMAP right) => left.Value <= right.Value; + + public static bool operator >(HBITMAP left, HBITMAP right) => left.Value > right.Value; + + public static bool operator >=(HBITMAP left, HBITMAP right) => left.Value >= right.Value; + + public static explicit operator HBITMAP(void* value) => new HBITMAP(value); + + public static implicit operator void*(HBITMAP value) => value.Value; + + public static explicit operator HBITMAP(HANDLE value) => new HBITMAP(value); + + public static implicit operator HANDLE(HBITMAP value) => new HANDLE(value.Value); + + public static explicit operator HBITMAP(byte value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator byte(HBITMAP value) => (byte)(value.Value); + + public static explicit operator HBITMAP(short value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator short(HBITMAP value) => (short)(value.Value); + + public static explicit operator HBITMAP(int value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator int(HBITMAP value) => (int)(value.Value); + + public static explicit operator HBITMAP(long value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator long(HBITMAP value) => (long)(value.Value); + + public static explicit operator HBITMAP(nint value) => new HBITMAP(unchecked((void*)(value))); + + public static implicit operator nint(HBITMAP value) => (nint)(value.Value); + + public static explicit operator HBITMAP(sbyte value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator sbyte(HBITMAP value) => (sbyte)(value.Value); + + public static explicit operator HBITMAP(ushort value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator ushort(HBITMAP value) => (ushort)(value.Value); + + public static explicit operator HBITMAP(uint value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator uint(HBITMAP value) => (uint)(value.Value); + + public static explicit operator HBITMAP(ulong value) => new HBITMAP(unchecked((void*)(value))); + + public static explicit operator ulong(HBITMAP value) => (ulong)(value.Value); + + public static explicit operator HBITMAP(nuint value) => new HBITMAP(unchecked((void*)(value))); + + public static implicit operator nuint(HBITMAP value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HBITMAP other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HBITMAP."); + } + + public int CompareTo(HBITMAP other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HBITMAP other) && Equals(other); + + public bool Equals(HBITMAP other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HBRUSH.gen.cs b/sources/Windows/Windows/other/helper-types/HBRUSH.gen.cs new file mode 100644 index 0000000000..efe0c389f9 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HBRUSH.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HBRUSH + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HBRUSH(void* value) + { + Value = value; + } + + public static HBRUSH INVALID_VALUE => new HBRUSH((void*)(-1)); + public static HBRUSH NULL => new HBRUSH(null); + + public static bool operator ==(HBRUSH left, HBRUSH right) => left.Value == right.Value; + + public static bool operator !=(HBRUSH left, HBRUSH right) => left.Value != right.Value; + + public static bool operator <(HBRUSH left, HBRUSH right) => left.Value < right.Value; + + public static bool operator <=(HBRUSH left, HBRUSH right) => left.Value <= right.Value; + + public static bool operator >(HBRUSH left, HBRUSH right) => left.Value > right.Value; + + public static bool operator >=(HBRUSH left, HBRUSH right) => left.Value >= right.Value; + + public static explicit operator HBRUSH(void* value) => new HBRUSH(value); + + public static implicit operator void*(HBRUSH value) => value.Value; + + public static explicit operator HBRUSH(HANDLE value) => new HBRUSH(value); + + public static implicit operator HANDLE(HBRUSH value) => new HANDLE(value.Value); + + public static explicit operator HBRUSH(byte value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator byte(HBRUSH value) => (byte)(value.Value); + + public static explicit operator HBRUSH(short value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator short(HBRUSH value) => (short)(value.Value); + + public static explicit operator HBRUSH(int value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator int(HBRUSH value) => (int)(value.Value); + + public static explicit operator HBRUSH(long value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator long(HBRUSH value) => (long)(value.Value); + + public static explicit operator HBRUSH(nint value) => new HBRUSH(unchecked((void*)(value))); + + public static implicit operator nint(HBRUSH value) => (nint)(value.Value); + + public static explicit operator HBRUSH(sbyte value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator sbyte(HBRUSH value) => (sbyte)(value.Value); + + public static explicit operator HBRUSH(ushort value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator ushort(HBRUSH value) => (ushort)(value.Value); + + public static explicit operator HBRUSH(uint value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator uint(HBRUSH value) => (uint)(value.Value); + + public static explicit operator HBRUSH(ulong value) => new HBRUSH(unchecked((void*)(value))); + + public static explicit operator ulong(HBRUSH value) => (ulong)(value.Value); + + public static explicit operator HBRUSH(nuint value) => new HBRUSH(unchecked((void*)(value))); + + public static implicit operator nuint(HBRUSH value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HBRUSH other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HBRUSH."); + } + + public int CompareTo(HBRUSH other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HBRUSH other) && Equals(other); + + public bool Equals(HBRUSH other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCATADMIN.gen.cs b/sources/Windows/Windows/other/helper-types/HCATADMIN.gen.cs new file mode 100644 index 0000000000..a411993339 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCATADMIN.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCATADMIN + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCATADMIN(void* value) + { + Value = value; + } + + public static HCATADMIN INVALID_VALUE => new HCATADMIN((void*)(-1)); + public static HCATADMIN NULL => new HCATADMIN(null); + + public static bool operator ==(HCATADMIN left, HCATADMIN right) => left.Value == right.Value; + + public static bool operator !=(HCATADMIN left, HCATADMIN right) => left.Value != right.Value; + + public static bool operator <(HCATADMIN left, HCATADMIN right) => left.Value < right.Value; + + public static bool operator <=(HCATADMIN left, HCATADMIN right) => left.Value <= right.Value; + + public static bool operator >(HCATADMIN left, HCATADMIN right) => left.Value > right.Value; + + public static bool operator >=(HCATADMIN left, HCATADMIN right) => left.Value >= right.Value; + + public static explicit operator HCATADMIN(void* value) => new HCATADMIN(value); + + public static implicit operator void*(HCATADMIN value) => value.Value; + + public static explicit operator HCATADMIN(HANDLE value) => new HCATADMIN(value); + + public static implicit operator HANDLE(HCATADMIN value) => new HANDLE(value.Value); + + public static explicit operator HCATADMIN(byte value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator byte(HCATADMIN value) => (byte)(value.Value); + + public static explicit operator HCATADMIN(short value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator short(HCATADMIN value) => (short)(value.Value); + + public static explicit operator HCATADMIN(int value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator int(HCATADMIN value) => (int)(value.Value); + + public static explicit operator HCATADMIN(long value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator long(HCATADMIN value) => (long)(value.Value); + + public static explicit operator HCATADMIN(nint value) => + new HCATADMIN(unchecked((void*)(value))); + + public static implicit operator nint(HCATADMIN value) => (nint)(value.Value); + + public static explicit operator HCATADMIN(sbyte value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator sbyte(HCATADMIN value) => (sbyte)(value.Value); + + public static explicit operator HCATADMIN(ushort value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator ushort(HCATADMIN value) => (ushort)(value.Value); + + public static explicit operator HCATADMIN(uint value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator uint(HCATADMIN value) => (uint)(value.Value); + + public static explicit operator HCATADMIN(ulong value) => + new HCATADMIN(unchecked((void*)(value))); + + public static explicit operator ulong(HCATADMIN value) => (ulong)(value.Value); + + public static explicit operator HCATADMIN(nuint value) => + new HCATADMIN(unchecked((void*)(value))); + + public static implicit operator nuint(HCATADMIN value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCATADMIN other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCATADMIN."); + } + + public int CompareTo(HCATADMIN other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCATADMIN other) && Equals(other); + + public bool Equals(HCATADMIN other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCERTCHAINENGINE.gen.cs b/sources/Windows/Windows/other/helper-types/HCERTCHAINENGINE.gen.cs new file mode 100644 index 0000000000..7d85a9d32a --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCERTCHAINENGINE.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCERTCHAINENGINE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCERTCHAINENGINE(void* value) + { + Value = value; + } + + public static HCERTCHAINENGINE INVALID_VALUE => new HCERTCHAINENGINE((void*)(-1)); + public static HCERTCHAINENGINE NULL => new HCERTCHAINENGINE(null); + + public static bool operator ==(HCERTCHAINENGINE left, HCERTCHAINENGINE right) => + left.Value == right.Value; + + public static bool operator !=(HCERTCHAINENGINE left, HCERTCHAINENGINE right) => + left.Value != right.Value; + + public static bool operator <(HCERTCHAINENGINE left, HCERTCHAINENGINE right) => + left.Value < right.Value; + + public static bool operator <=(HCERTCHAINENGINE left, HCERTCHAINENGINE right) => + left.Value <= right.Value; + + public static bool operator >(HCERTCHAINENGINE left, HCERTCHAINENGINE right) => + left.Value > right.Value; + + public static bool operator >=(HCERTCHAINENGINE left, HCERTCHAINENGINE right) => + left.Value >= right.Value; + + public static explicit operator HCERTCHAINENGINE(void* value) => new HCERTCHAINENGINE(value); + + public static implicit operator void*(HCERTCHAINENGINE value) => value.Value; + + public static explicit operator HCERTCHAINENGINE(HANDLE value) => new HCERTCHAINENGINE(value); + + public static implicit operator HANDLE(HCERTCHAINENGINE value) => new HANDLE(value.Value); + + public static explicit operator HCERTCHAINENGINE(byte value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator byte(HCERTCHAINENGINE value) => (byte)(value.Value); + + public static explicit operator HCERTCHAINENGINE(short value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator short(HCERTCHAINENGINE value) => (short)(value.Value); + + public static explicit operator HCERTCHAINENGINE(int value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator int(HCERTCHAINENGINE value) => (int)(value.Value); + + public static explicit operator HCERTCHAINENGINE(long value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator long(HCERTCHAINENGINE value) => (long)(value.Value); + + public static explicit operator HCERTCHAINENGINE(nint value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static implicit operator nint(HCERTCHAINENGINE value) => (nint)(value.Value); + + public static explicit operator HCERTCHAINENGINE(sbyte value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator sbyte(HCERTCHAINENGINE value) => (sbyte)(value.Value); + + public static explicit operator HCERTCHAINENGINE(ushort value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator ushort(HCERTCHAINENGINE value) => (ushort)(value.Value); + + public static explicit operator HCERTCHAINENGINE(uint value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator uint(HCERTCHAINENGINE value) => (uint)(value.Value); + + public static explicit operator HCERTCHAINENGINE(ulong value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static explicit operator ulong(HCERTCHAINENGINE value) => (ulong)(value.Value); + + public static explicit operator HCERTCHAINENGINE(nuint value) => + new HCERTCHAINENGINE(unchecked((void*)(value))); + + public static implicit operator nuint(HCERTCHAINENGINE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCERTCHAINENGINE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCERTCHAINENGINE."); + } + + public int CompareTo(HCERTCHAINENGINE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCERTCHAINENGINE other) && Equals(other); + + public bool Equals(HCERTCHAINENGINE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCERTSTORE.gen.cs b/sources/Windows/Windows/other/helper-types/HCERTSTORE.gen.cs new file mode 100644 index 0000000000..5285dc47fa --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCERTSTORE.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCERTSTORE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCERTSTORE(void* value) + { + Value = value; + } + + public static HCERTSTORE INVALID_VALUE => new HCERTSTORE((void*)(-1)); + public static HCERTSTORE NULL => new HCERTSTORE(null); + + public static bool operator ==(HCERTSTORE left, HCERTSTORE right) => left.Value == right.Value; + + public static bool operator !=(HCERTSTORE left, HCERTSTORE right) => left.Value != right.Value; + + public static bool operator <(HCERTSTORE left, HCERTSTORE right) => left.Value < right.Value; + + public static bool operator <=(HCERTSTORE left, HCERTSTORE right) => left.Value <= right.Value; + + public static bool operator >(HCERTSTORE left, HCERTSTORE right) => left.Value > right.Value; + + public static bool operator >=(HCERTSTORE left, HCERTSTORE right) => left.Value >= right.Value; + + public static explicit operator HCERTSTORE(void* value) => new HCERTSTORE(value); + + public static implicit operator void*(HCERTSTORE value) => value.Value; + + public static explicit operator HCERTSTORE(HANDLE value) => new HCERTSTORE(value); + + public static implicit operator HANDLE(HCERTSTORE value) => new HANDLE(value.Value); + + public static explicit operator HCERTSTORE(byte value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator byte(HCERTSTORE value) => (byte)(value.Value); + + public static explicit operator HCERTSTORE(short value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator short(HCERTSTORE value) => (short)(value.Value); + + public static explicit operator HCERTSTORE(int value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator int(HCERTSTORE value) => (int)(value.Value); + + public static explicit operator HCERTSTORE(long value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator long(HCERTSTORE value) => (long)(value.Value); + + public static explicit operator HCERTSTORE(nint value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static implicit operator nint(HCERTSTORE value) => (nint)(value.Value); + + public static explicit operator HCERTSTORE(sbyte value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator sbyte(HCERTSTORE value) => (sbyte)(value.Value); + + public static explicit operator HCERTSTORE(ushort value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator ushort(HCERTSTORE value) => (ushort)(value.Value); + + public static explicit operator HCERTSTORE(uint value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator uint(HCERTSTORE value) => (uint)(value.Value); + + public static explicit operator HCERTSTORE(ulong value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static explicit operator ulong(HCERTSTORE value) => (ulong)(value.Value); + + public static explicit operator HCERTSTORE(nuint value) => + new HCERTSTORE(unchecked((void*)(value))); + + public static implicit operator nuint(HCERTSTORE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCERTSTORE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCERTSTORE."); + } + + public int CompareTo(HCERTSTORE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCERTSTORE other) && Equals(other); + + public bool Equals(HCERTSTORE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCERTSTOREPROV.gen.cs b/sources/Windows/Windows/other/helper-types/HCERTSTOREPROV.gen.cs new file mode 100644 index 0000000000..591fe2842f --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCERTSTOREPROV.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCERTSTOREPROV + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCERTSTOREPROV(void* value) + { + Value = value; + } + + public static HCERTSTOREPROV INVALID_VALUE => new HCERTSTOREPROV((void*)(-1)); + public static HCERTSTOREPROV NULL => new HCERTSTOREPROV(null); + + public static bool operator ==(HCERTSTOREPROV left, HCERTSTOREPROV right) => + left.Value == right.Value; + + public static bool operator !=(HCERTSTOREPROV left, HCERTSTOREPROV right) => + left.Value != right.Value; + + public static bool operator <(HCERTSTOREPROV left, HCERTSTOREPROV right) => + left.Value < right.Value; + + public static bool operator <=(HCERTSTOREPROV left, HCERTSTOREPROV right) => + left.Value <= right.Value; + + public static bool operator >(HCERTSTOREPROV left, HCERTSTOREPROV right) => + left.Value > right.Value; + + public static bool operator >=(HCERTSTOREPROV left, HCERTSTOREPROV right) => + left.Value >= right.Value; + + public static explicit operator HCERTSTOREPROV(void* value) => new HCERTSTOREPROV(value); + + public static implicit operator void*(HCERTSTOREPROV value) => value.Value; + + public static explicit operator HCERTSTOREPROV(HANDLE value) => new HCERTSTOREPROV(value); + + public static implicit operator HANDLE(HCERTSTOREPROV value) => new HANDLE(value.Value); + + public static explicit operator HCERTSTOREPROV(byte value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator byte(HCERTSTOREPROV value) => (byte)(value.Value); + + public static explicit operator HCERTSTOREPROV(short value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator short(HCERTSTOREPROV value) => (short)(value.Value); + + public static explicit operator HCERTSTOREPROV(int value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator int(HCERTSTOREPROV value) => (int)(value.Value); + + public static explicit operator HCERTSTOREPROV(long value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator long(HCERTSTOREPROV value) => (long)(value.Value); + + public static explicit operator HCERTSTOREPROV(nint value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static implicit operator nint(HCERTSTOREPROV value) => (nint)(value.Value); + + public static explicit operator HCERTSTOREPROV(sbyte value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator sbyte(HCERTSTOREPROV value) => (sbyte)(value.Value); + + public static explicit operator HCERTSTOREPROV(ushort value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator ushort(HCERTSTOREPROV value) => (ushort)(value.Value); + + public static explicit operator HCERTSTOREPROV(uint value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator uint(HCERTSTOREPROV value) => (uint)(value.Value); + + public static explicit operator HCERTSTOREPROV(ulong value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static explicit operator ulong(HCERTSTOREPROV value) => (ulong)(value.Value); + + public static explicit operator HCERTSTOREPROV(nuint value) => + new HCERTSTOREPROV(unchecked((void*)(value))); + + public static implicit operator nuint(HCERTSTOREPROV value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCERTSTOREPROV other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCERTSTOREPROV."); + } + + public int CompareTo(HCERTSTOREPROV other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCERTSTOREPROV other) && Equals(other); + + public bool Equals(HCERTSTOREPROV other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCERT_SERVER_OCSP_RESPONSE.gen.cs b/sources/Windows/Windows/other/helper-types/HCERT_SERVER_OCSP_RESPONSE.gen.cs new file mode 100644 index 0000000000..18e5639006 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCERT_SERVER_OCSP_RESPONSE.gen.cs @@ -0,0 +1,142 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCERT_SERVER_OCSP_RESPONSE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCERT_SERVER_OCSP_RESPONSE(void* value) + { + Value = value; + } + + public static HCERT_SERVER_OCSP_RESPONSE INVALID_VALUE => + new HCERT_SERVER_OCSP_RESPONSE((void*)(-1)); + public static HCERT_SERVER_OCSP_RESPONSE NULL => new HCERT_SERVER_OCSP_RESPONSE(null); + + public static bool operator ==( + HCERT_SERVER_OCSP_RESPONSE left, + HCERT_SERVER_OCSP_RESPONSE right + ) => left.Value == right.Value; + + public static bool operator !=( + HCERT_SERVER_OCSP_RESPONSE left, + HCERT_SERVER_OCSP_RESPONSE right + ) => left.Value != right.Value; + + public static bool operator <( + HCERT_SERVER_OCSP_RESPONSE left, + HCERT_SERVER_OCSP_RESPONSE right + ) => left.Value < right.Value; + + public static bool operator <=( + HCERT_SERVER_OCSP_RESPONSE left, + HCERT_SERVER_OCSP_RESPONSE right + ) => left.Value <= right.Value; + + public static bool operator >( + HCERT_SERVER_OCSP_RESPONSE left, + HCERT_SERVER_OCSP_RESPONSE right + ) => left.Value > right.Value; + + public static bool operator >=( + HCERT_SERVER_OCSP_RESPONSE left, + HCERT_SERVER_OCSP_RESPONSE right + ) => left.Value >= right.Value; + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(void* value) => + new HCERT_SERVER_OCSP_RESPONSE(value); + + public static implicit operator void*(HCERT_SERVER_OCSP_RESPONSE value) => value.Value; + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(HANDLE value) => + new HCERT_SERVER_OCSP_RESPONSE(value); + + public static implicit operator HANDLE(HCERT_SERVER_OCSP_RESPONSE value) => + new HANDLE(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(byte value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator byte(HCERT_SERVER_OCSP_RESPONSE value) => (byte)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(short value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator short(HCERT_SERVER_OCSP_RESPONSE value) => (short)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(int value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator int(HCERT_SERVER_OCSP_RESPONSE value) => (int)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(long value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator long(HCERT_SERVER_OCSP_RESPONSE value) => (long)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(nint value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static implicit operator nint(HCERT_SERVER_OCSP_RESPONSE value) => (nint)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(sbyte value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator sbyte(HCERT_SERVER_OCSP_RESPONSE value) => (sbyte)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(ushort value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator ushort(HCERT_SERVER_OCSP_RESPONSE value) => + (ushort)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(uint value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator uint(HCERT_SERVER_OCSP_RESPONSE value) => (uint)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(ulong value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static explicit operator ulong(HCERT_SERVER_OCSP_RESPONSE value) => (ulong)(value.Value); + + public static explicit operator HCERT_SERVER_OCSP_RESPONSE(nuint value) => + new HCERT_SERVER_OCSP_RESPONSE(unchecked((void*)(value))); + + public static implicit operator nuint(HCERT_SERVER_OCSP_RESPONSE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCERT_SERVER_OCSP_RESPONSE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCERT_SERVER_OCSP_RESPONSE."); + } + + public int CompareTo(HCERT_SERVER_OCSP_RESPONSE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is HCERT_SERVER_OCSP_RESPONSE other) && Equals(other); + + public bool Equals(HCERT_SERVER_OCSP_RESPONSE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCMTRANSFORM.gen.cs b/sources/Windows/Windows/other/helper-types/HCMTRANSFORM.gen.cs new file mode 100644 index 0000000000..4ca072e839 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCMTRANSFORM.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCMTRANSFORM + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCMTRANSFORM(void* value) + { + Value = value; + } + + public static HCMTRANSFORM INVALID_VALUE => new HCMTRANSFORM((void*)(-1)); + public static HCMTRANSFORM NULL => new HCMTRANSFORM(null); + + public static bool operator ==(HCMTRANSFORM left, HCMTRANSFORM right) => + left.Value == right.Value; + + public static bool operator !=(HCMTRANSFORM left, HCMTRANSFORM right) => + left.Value != right.Value; + + public static bool operator <(HCMTRANSFORM left, HCMTRANSFORM right) => + left.Value < right.Value; + + public static bool operator <=(HCMTRANSFORM left, HCMTRANSFORM right) => + left.Value <= right.Value; + + public static bool operator >(HCMTRANSFORM left, HCMTRANSFORM right) => + left.Value > right.Value; + + public static bool operator >=(HCMTRANSFORM left, HCMTRANSFORM right) => + left.Value >= right.Value; + + public static explicit operator HCMTRANSFORM(void* value) => new HCMTRANSFORM(value); + + public static implicit operator void*(HCMTRANSFORM value) => value.Value; + + public static explicit operator HCMTRANSFORM(HANDLE value) => new HCMTRANSFORM(value); + + public static implicit operator HANDLE(HCMTRANSFORM value) => new HANDLE(value.Value); + + public static explicit operator HCMTRANSFORM(byte value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator byte(HCMTRANSFORM value) => (byte)(value.Value); + + public static explicit operator HCMTRANSFORM(short value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator short(HCMTRANSFORM value) => (short)(value.Value); + + public static explicit operator HCMTRANSFORM(int value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator int(HCMTRANSFORM value) => (int)(value.Value); + + public static explicit operator HCMTRANSFORM(long value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator long(HCMTRANSFORM value) => (long)(value.Value); + + public static explicit operator HCMTRANSFORM(nint value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static implicit operator nint(HCMTRANSFORM value) => (nint)(value.Value); + + public static explicit operator HCMTRANSFORM(sbyte value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator sbyte(HCMTRANSFORM value) => (sbyte)(value.Value); + + public static explicit operator HCMTRANSFORM(ushort value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator ushort(HCMTRANSFORM value) => (ushort)(value.Value); + + public static explicit operator HCMTRANSFORM(uint value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator uint(HCMTRANSFORM value) => (uint)(value.Value); + + public static explicit operator HCMTRANSFORM(ulong value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static explicit operator ulong(HCMTRANSFORM value) => (ulong)(value.Value); + + public static explicit operator HCMTRANSFORM(nuint value) => + new HCMTRANSFORM(unchecked((void*)(value))); + + public static implicit operator nuint(HCMTRANSFORM value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCMTRANSFORM other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCMTRANSFORM."); + } + + public int CompareTo(HCMTRANSFORM other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCMTRANSFORM other) && Equals(other); + + public bool Equals(HCMTRANSFORM other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCOLORSPACE.gen.cs b/sources/Windows/Windows/other/helper-types/HCOLORSPACE.gen.cs new file mode 100644 index 0000000000..11d14db603 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCOLORSPACE.gen.cs @@ -0,0 +1,120 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCOLORSPACE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCOLORSPACE(void* value) + { + Value = value; + } + + public static HCOLORSPACE INVALID_VALUE => new HCOLORSPACE((void*)(-1)); + public static HCOLORSPACE NULL => new HCOLORSPACE(null); + + public static bool operator ==(HCOLORSPACE left, HCOLORSPACE right) => + left.Value == right.Value; + + public static bool operator !=(HCOLORSPACE left, HCOLORSPACE right) => + left.Value != right.Value; + + public static bool operator <(HCOLORSPACE left, HCOLORSPACE right) => left.Value < right.Value; + + public static bool operator <=(HCOLORSPACE left, HCOLORSPACE right) => + left.Value <= right.Value; + + public static bool operator >(HCOLORSPACE left, HCOLORSPACE right) => left.Value > right.Value; + + public static bool operator >=(HCOLORSPACE left, HCOLORSPACE right) => + left.Value >= right.Value; + + public static explicit operator HCOLORSPACE(void* value) => new HCOLORSPACE(value); + + public static implicit operator void*(HCOLORSPACE value) => value.Value; + + public static explicit operator HCOLORSPACE(HANDLE value) => new HCOLORSPACE(value); + + public static implicit operator HANDLE(HCOLORSPACE value) => new HANDLE(value.Value); + + public static explicit operator HCOLORSPACE(byte value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator byte(HCOLORSPACE value) => (byte)(value.Value); + + public static explicit operator HCOLORSPACE(short value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator short(HCOLORSPACE value) => (short)(value.Value); + + public static explicit operator HCOLORSPACE(int value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator int(HCOLORSPACE value) => (int)(value.Value); + + public static explicit operator HCOLORSPACE(long value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator long(HCOLORSPACE value) => (long)(value.Value); + + public static explicit operator HCOLORSPACE(nint value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static implicit operator nint(HCOLORSPACE value) => (nint)(value.Value); + + public static explicit operator HCOLORSPACE(sbyte value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator sbyte(HCOLORSPACE value) => (sbyte)(value.Value); + + public static explicit operator HCOLORSPACE(ushort value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator ushort(HCOLORSPACE value) => (ushort)(value.Value); + + public static explicit operator HCOLORSPACE(uint value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator uint(HCOLORSPACE value) => (uint)(value.Value); + + public static explicit operator HCOLORSPACE(ulong value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static explicit operator ulong(HCOLORSPACE value) => (ulong)(value.Value); + + public static explicit operator HCOLORSPACE(nuint value) => + new HCOLORSPACE(unchecked((void*)(value))); + + public static implicit operator nuint(HCOLORSPACE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCOLORSPACE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCOLORSPACE."); + } + + public int CompareTo(HCOLORSPACE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCOLORSPACE other) && Equals(other); + + public bool Equals(HCOLORSPACE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCOMDB.gen.cs b/sources/Windows/Windows/other/helper-types/HCOMDB.gen.cs new file mode 100644 index 0000000000..382d85c46a --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCOMDB.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCOMDB + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCOMDB(void* value) + { + Value = value; + } + + public static HCOMDB INVALID_VALUE => new HCOMDB((void*)(-1)); + public static HCOMDB NULL => new HCOMDB(null); + + public static bool operator ==(HCOMDB left, HCOMDB right) => left.Value == right.Value; + + public static bool operator !=(HCOMDB left, HCOMDB right) => left.Value != right.Value; + + public static bool operator <(HCOMDB left, HCOMDB right) => left.Value < right.Value; + + public static bool operator <=(HCOMDB left, HCOMDB right) => left.Value <= right.Value; + + public static bool operator >(HCOMDB left, HCOMDB right) => left.Value > right.Value; + + public static bool operator >=(HCOMDB left, HCOMDB right) => left.Value >= right.Value; + + public static explicit operator HCOMDB(void* value) => new HCOMDB(value); + + public static implicit operator void*(HCOMDB value) => value.Value; + + public static explicit operator HCOMDB(HANDLE value) => new HCOMDB(value); + + public static implicit operator HANDLE(HCOMDB value) => new HANDLE(value.Value); + + public static explicit operator HCOMDB(byte value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator byte(HCOMDB value) => (byte)(value.Value); + + public static explicit operator HCOMDB(short value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator short(HCOMDB value) => (short)(value.Value); + + public static explicit operator HCOMDB(int value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator int(HCOMDB value) => (int)(value.Value); + + public static explicit operator HCOMDB(long value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator long(HCOMDB value) => (long)(value.Value); + + public static explicit operator HCOMDB(nint value) => new HCOMDB(unchecked((void*)(value))); + + public static implicit operator nint(HCOMDB value) => (nint)(value.Value); + + public static explicit operator HCOMDB(sbyte value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator sbyte(HCOMDB value) => (sbyte)(value.Value); + + public static explicit operator HCOMDB(ushort value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator ushort(HCOMDB value) => (ushort)(value.Value); + + public static explicit operator HCOMDB(uint value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator uint(HCOMDB value) => (uint)(value.Value); + + public static explicit operator HCOMDB(ulong value) => new HCOMDB(unchecked((void*)(value))); + + public static explicit operator ulong(HCOMDB value) => (ulong)(value.Value); + + public static explicit operator HCOMDB(nuint value) => new HCOMDB(unchecked((void*)(value))); + + public static implicit operator nuint(HCOMDB value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCOMDB other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HCOMDB."); + } + + public int CompareTo(HCOMDB other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCOMDB other) && Equals(other); + + public bool Equals(HCOMDB other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTASYNC.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTASYNC.gen.cs new file mode 100644 index 0000000000..29375250e0 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTASYNC.gen.cs @@ -0,0 +1,120 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTASYNC + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTASYNC(void* value) + { + Value = value; + } + + public static HCRYPTASYNC INVALID_VALUE => new HCRYPTASYNC((void*)(-1)); + public static HCRYPTASYNC NULL => new HCRYPTASYNC(null); + + public static bool operator ==(HCRYPTASYNC left, HCRYPTASYNC right) => + left.Value == right.Value; + + public static bool operator !=(HCRYPTASYNC left, HCRYPTASYNC right) => + left.Value != right.Value; + + public static bool operator <(HCRYPTASYNC left, HCRYPTASYNC right) => left.Value < right.Value; + + public static bool operator <=(HCRYPTASYNC left, HCRYPTASYNC right) => + left.Value <= right.Value; + + public static bool operator >(HCRYPTASYNC left, HCRYPTASYNC right) => left.Value > right.Value; + + public static bool operator >=(HCRYPTASYNC left, HCRYPTASYNC right) => + left.Value >= right.Value; + + public static explicit operator HCRYPTASYNC(void* value) => new HCRYPTASYNC(value); + + public static implicit operator void*(HCRYPTASYNC value) => value.Value; + + public static explicit operator HCRYPTASYNC(HANDLE value) => new HCRYPTASYNC(value); + + public static implicit operator HANDLE(HCRYPTASYNC value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTASYNC(byte value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTASYNC value) => (byte)(value.Value); + + public static explicit operator HCRYPTASYNC(short value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTASYNC value) => (short)(value.Value); + + public static explicit operator HCRYPTASYNC(int value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTASYNC value) => (int)(value.Value); + + public static explicit operator HCRYPTASYNC(long value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTASYNC value) => (long)(value.Value); + + public static explicit operator HCRYPTASYNC(nint value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTASYNC value) => (nint)(value.Value); + + public static explicit operator HCRYPTASYNC(sbyte value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTASYNC value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTASYNC(ushort value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTASYNC value) => (ushort)(value.Value); + + public static explicit operator HCRYPTASYNC(uint value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTASYNC value) => (uint)(value.Value); + + public static explicit operator HCRYPTASYNC(ulong value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTASYNC value) => (ulong)(value.Value); + + public static explicit operator HCRYPTASYNC(nuint value) => + new HCRYPTASYNC(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTASYNC value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTASYNC other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTASYNC."); + } + + public int CompareTo(HCRYPTASYNC other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTASYNC other) && Equals(other); + + public bool Equals(HCRYPTASYNC other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTDEFAULTCONTEXT.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTDEFAULTCONTEXT.gen.cs new file mode 100644 index 0000000000..8e211f8753 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTDEFAULTCONTEXT.gen.cs @@ -0,0 +1,126 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTDEFAULTCONTEXT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTDEFAULTCONTEXT(void* value) + { + Value = value; + } + + public static HCRYPTDEFAULTCONTEXT INVALID_VALUE => new HCRYPTDEFAULTCONTEXT((void*)(-1)); + public static HCRYPTDEFAULTCONTEXT NULL => new HCRYPTDEFAULTCONTEXT(null); + + public static bool operator ==(HCRYPTDEFAULTCONTEXT left, HCRYPTDEFAULTCONTEXT right) => + left.Value == right.Value; + + public static bool operator !=(HCRYPTDEFAULTCONTEXT left, HCRYPTDEFAULTCONTEXT right) => + left.Value != right.Value; + + public static bool operator <(HCRYPTDEFAULTCONTEXT left, HCRYPTDEFAULTCONTEXT right) => + left.Value < right.Value; + + public static bool operator <=(HCRYPTDEFAULTCONTEXT left, HCRYPTDEFAULTCONTEXT right) => + left.Value <= right.Value; + + public static bool operator >(HCRYPTDEFAULTCONTEXT left, HCRYPTDEFAULTCONTEXT right) => + left.Value > right.Value; + + public static bool operator >=(HCRYPTDEFAULTCONTEXT left, HCRYPTDEFAULTCONTEXT right) => + left.Value >= right.Value; + + public static explicit operator HCRYPTDEFAULTCONTEXT(void* value) => + new HCRYPTDEFAULTCONTEXT(value); + + public static implicit operator void*(HCRYPTDEFAULTCONTEXT value) => value.Value; + + public static explicit operator HCRYPTDEFAULTCONTEXT(HANDLE value) => + new HCRYPTDEFAULTCONTEXT(value); + + public static implicit operator HANDLE(HCRYPTDEFAULTCONTEXT value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(byte value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTDEFAULTCONTEXT value) => (byte)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(short value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTDEFAULTCONTEXT value) => (short)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(int value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTDEFAULTCONTEXT value) => (int)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(long value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTDEFAULTCONTEXT value) => (long)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(nint value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTDEFAULTCONTEXT value) => (nint)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(sbyte value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTDEFAULTCONTEXT value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(ushort value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTDEFAULTCONTEXT value) => (ushort)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(uint value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTDEFAULTCONTEXT value) => (uint)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(ulong value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTDEFAULTCONTEXT value) => (ulong)(value.Value); + + public static explicit operator HCRYPTDEFAULTCONTEXT(nuint value) => + new HCRYPTDEFAULTCONTEXT(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTDEFAULTCONTEXT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTDEFAULTCONTEXT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTDEFAULTCONTEXT."); + } + + public int CompareTo(HCRYPTDEFAULTCONTEXT other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is HCRYPTDEFAULTCONTEXT other) && Equals(other); + + public bool Equals(HCRYPTDEFAULTCONTEXT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTHASH.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTHASH.gen.cs new file mode 100644 index 0000000000..fb62034f4c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTHASH.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTHASH + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTHASH(void* value) + { + Value = value; + } + + public static HCRYPTHASH INVALID_VALUE => new HCRYPTHASH((void*)(-1)); + public static HCRYPTHASH NULL => new HCRYPTHASH(null); + + public static bool operator ==(HCRYPTHASH left, HCRYPTHASH right) => left.Value == right.Value; + + public static bool operator !=(HCRYPTHASH left, HCRYPTHASH right) => left.Value != right.Value; + + public static bool operator <(HCRYPTHASH left, HCRYPTHASH right) => left.Value < right.Value; + + public static bool operator <=(HCRYPTHASH left, HCRYPTHASH right) => left.Value <= right.Value; + + public static bool operator >(HCRYPTHASH left, HCRYPTHASH right) => left.Value > right.Value; + + public static bool operator >=(HCRYPTHASH left, HCRYPTHASH right) => left.Value >= right.Value; + + public static explicit operator HCRYPTHASH(void* value) => new HCRYPTHASH(value); + + public static implicit operator void*(HCRYPTHASH value) => value.Value; + + public static explicit operator HCRYPTHASH(HANDLE value) => new HCRYPTHASH(value); + + public static implicit operator HANDLE(HCRYPTHASH value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTHASH(byte value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTHASH value) => (byte)(value.Value); + + public static explicit operator HCRYPTHASH(short value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTHASH value) => (short)(value.Value); + + public static explicit operator HCRYPTHASH(int value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTHASH value) => (int)(value.Value); + + public static explicit operator HCRYPTHASH(long value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTHASH value) => (long)(value.Value); + + public static explicit operator HCRYPTHASH(nint value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTHASH value) => (nint)(value.Value); + + public static explicit operator HCRYPTHASH(sbyte value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTHASH value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTHASH(ushort value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTHASH value) => (ushort)(value.Value); + + public static explicit operator HCRYPTHASH(uint value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTHASH value) => (uint)(value.Value); + + public static explicit operator HCRYPTHASH(ulong value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTHASH value) => (ulong)(value.Value); + + public static explicit operator HCRYPTHASH(nuint value) => + new HCRYPTHASH(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTHASH value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTHASH other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTHASH."); + } + + public int CompareTo(HCRYPTHASH other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTHASH other) && Equals(other); + + public bool Equals(HCRYPTHASH other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTKEY.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTKEY.gen.cs new file mode 100644 index 0000000000..e881835ac2 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTKEY.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTKEY + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTKEY(void* value) + { + Value = value; + } + + public static HCRYPTKEY INVALID_VALUE => new HCRYPTKEY((void*)(-1)); + public static HCRYPTKEY NULL => new HCRYPTKEY(null); + + public static bool operator ==(HCRYPTKEY left, HCRYPTKEY right) => left.Value == right.Value; + + public static bool operator !=(HCRYPTKEY left, HCRYPTKEY right) => left.Value != right.Value; + + public static bool operator <(HCRYPTKEY left, HCRYPTKEY right) => left.Value < right.Value; + + public static bool operator <=(HCRYPTKEY left, HCRYPTKEY right) => left.Value <= right.Value; + + public static bool operator >(HCRYPTKEY left, HCRYPTKEY right) => left.Value > right.Value; + + public static bool operator >=(HCRYPTKEY left, HCRYPTKEY right) => left.Value >= right.Value; + + public static explicit operator HCRYPTKEY(void* value) => new HCRYPTKEY(value); + + public static implicit operator void*(HCRYPTKEY value) => value.Value; + + public static explicit operator HCRYPTKEY(HANDLE value) => new HCRYPTKEY(value); + + public static implicit operator HANDLE(HCRYPTKEY value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTKEY(byte value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTKEY value) => (byte)(value.Value); + + public static explicit operator HCRYPTKEY(short value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTKEY value) => (short)(value.Value); + + public static explicit operator HCRYPTKEY(int value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTKEY value) => (int)(value.Value); + + public static explicit operator HCRYPTKEY(long value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTKEY value) => (long)(value.Value); + + public static explicit operator HCRYPTKEY(nint value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTKEY value) => (nint)(value.Value); + + public static explicit operator HCRYPTKEY(sbyte value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTKEY value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTKEY(ushort value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTKEY value) => (ushort)(value.Value); + + public static explicit operator HCRYPTKEY(uint value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTKEY value) => (uint)(value.Value); + + public static explicit operator HCRYPTKEY(ulong value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTKEY value) => (ulong)(value.Value); + + public static explicit operator HCRYPTKEY(nuint value) => + new HCRYPTKEY(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTKEY value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTKEY other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTKEY."); + } + + public int CompareTo(HCRYPTKEY other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTKEY other) && Equals(other); + + public bool Equals(HCRYPTKEY other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTMSG.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTMSG.gen.cs new file mode 100644 index 0000000000..723a7dfea1 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTMSG.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTMSG + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTMSG(void* value) + { + Value = value; + } + + public static HCRYPTMSG INVALID_VALUE => new HCRYPTMSG((void*)(-1)); + public static HCRYPTMSG NULL => new HCRYPTMSG(null); + + public static bool operator ==(HCRYPTMSG left, HCRYPTMSG right) => left.Value == right.Value; + + public static bool operator !=(HCRYPTMSG left, HCRYPTMSG right) => left.Value != right.Value; + + public static bool operator <(HCRYPTMSG left, HCRYPTMSG right) => left.Value < right.Value; + + public static bool operator <=(HCRYPTMSG left, HCRYPTMSG right) => left.Value <= right.Value; + + public static bool operator >(HCRYPTMSG left, HCRYPTMSG right) => left.Value > right.Value; + + public static bool operator >=(HCRYPTMSG left, HCRYPTMSG right) => left.Value >= right.Value; + + public static explicit operator HCRYPTMSG(void* value) => new HCRYPTMSG(value); + + public static implicit operator void*(HCRYPTMSG value) => value.Value; + + public static explicit operator HCRYPTMSG(HANDLE value) => new HCRYPTMSG(value); + + public static implicit operator HANDLE(HCRYPTMSG value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTMSG(byte value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTMSG value) => (byte)(value.Value); + + public static explicit operator HCRYPTMSG(short value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTMSG value) => (short)(value.Value); + + public static explicit operator HCRYPTMSG(int value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTMSG value) => (int)(value.Value); + + public static explicit operator HCRYPTMSG(long value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTMSG value) => (long)(value.Value); + + public static explicit operator HCRYPTMSG(nint value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTMSG value) => (nint)(value.Value); + + public static explicit operator HCRYPTMSG(sbyte value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTMSG value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTMSG(ushort value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTMSG value) => (ushort)(value.Value); + + public static explicit operator HCRYPTMSG(uint value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTMSG value) => (uint)(value.Value); + + public static explicit operator HCRYPTMSG(ulong value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTMSG value) => (ulong)(value.Value); + + public static explicit operator HCRYPTMSG(nuint value) => + new HCRYPTMSG(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTMSG value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTMSG other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTMSG."); + } + + public int CompareTo(HCRYPTMSG other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTMSG other) && Equals(other); + + public bool Equals(HCRYPTMSG other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTOIDFUNCADDR.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTOIDFUNCADDR.gen.cs new file mode 100644 index 0000000000..d2c36d946b --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTOIDFUNCADDR.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTOIDFUNCADDR + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTOIDFUNCADDR(void* value) + { + Value = value; + } + + public static HCRYPTOIDFUNCADDR INVALID_VALUE => new HCRYPTOIDFUNCADDR((void*)(-1)); + public static HCRYPTOIDFUNCADDR NULL => new HCRYPTOIDFUNCADDR(null); + + public static bool operator ==(HCRYPTOIDFUNCADDR left, HCRYPTOIDFUNCADDR right) => + left.Value == right.Value; + + public static bool operator !=(HCRYPTOIDFUNCADDR left, HCRYPTOIDFUNCADDR right) => + left.Value != right.Value; + + public static bool operator <(HCRYPTOIDFUNCADDR left, HCRYPTOIDFUNCADDR right) => + left.Value < right.Value; + + public static bool operator <=(HCRYPTOIDFUNCADDR left, HCRYPTOIDFUNCADDR right) => + left.Value <= right.Value; + + public static bool operator >(HCRYPTOIDFUNCADDR left, HCRYPTOIDFUNCADDR right) => + left.Value > right.Value; + + public static bool operator >=(HCRYPTOIDFUNCADDR left, HCRYPTOIDFUNCADDR right) => + left.Value >= right.Value; + + public static explicit operator HCRYPTOIDFUNCADDR(void* value) => new HCRYPTOIDFUNCADDR(value); + + public static implicit operator void*(HCRYPTOIDFUNCADDR value) => value.Value; + + public static explicit operator HCRYPTOIDFUNCADDR(HANDLE value) => new HCRYPTOIDFUNCADDR(value); + + public static implicit operator HANDLE(HCRYPTOIDFUNCADDR value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(byte value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTOIDFUNCADDR value) => (byte)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(short value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTOIDFUNCADDR value) => (short)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(int value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTOIDFUNCADDR value) => (int)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(long value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTOIDFUNCADDR value) => (long)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(nint value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTOIDFUNCADDR value) => (nint)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(sbyte value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTOIDFUNCADDR value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(ushort value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTOIDFUNCADDR value) => (ushort)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(uint value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTOIDFUNCADDR value) => (uint)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(ulong value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTOIDFUNCADDR value) => (ulong)(value.Value); + + public static explicit operator HCRYPTOIDFUNCADDR(nuint value) => + new HCRYPTOIDFUNCADDR(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTOIDFUNCADDR value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTOIDFUNCADDR other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTOIDFUNCADDR."); + } + + public int CompareTo(HCRYPTOIDFUNCADDR other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTOIDFUNCADDR other) && Equals(other); + + public bool Equals(HCRYPTOIDFUNCADDR other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTOIDFUNCSET.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTOIDFUNCSET.gen.cs new file mode 100644 index 0000000000..556214d5d3 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTOIDFUNCSET.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTOIDFUNCSET + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTOIDFUNCSET(void* value) + { + Value = value; + } + + public static HCRYPTOIDFUNCSET INVALID_VALUE => new HCRYPTOIDFUNCSET((void*)(-1)); + public static HCRYPTOIDFUNCSET NULL => new HCRYPTOIDFUNCSET(null); + + public static bool operator ==(HCRYPTOIDFUNCSET left, HCRYPTOIDFUNCSET right) => + left.Value == right.Value; + + public static bool operator !=(HCRYPTOIDFUNCSET left, HCRYPTOIDFUNCSET right) => + left.Value != right.Value; + + public static bool operator <(HCRYPTOIDFUNCSET left, HCRYPTOIDFUNCSET right) => + left.Value < right.Value; + + public static bool operator <=(HCRYPTOIDFUNCSET left, HCRYPTOIDFUNCSET right) => + left.Value <= right.Value; + + public static bool operator >(HCRYPTOIDFUNCSET left, HCRYPTOIDFUNCSET right) => + left.Value > right.Value; + + public static bool operator >=(HCRYPTOIDFUNCSET left, HCRYPTOIDFUNCSET right) => + left.Value >= right.Value; + + public static explicit operator HCRYPTOIDFUNCSET(void* value) => new HCRYPTOIDFUNCSET(value); + + public static implicit operator void*(HCRYPTOIDFUNCSET value) => value.Value; + + public static explicit operator HCRYPTOIDFUNCSET(HANDLE value) => new HCRYPTOIDFUNCSET(value); + + public static implicit operator HANDLE(HCRYPTOIDFUNCSET value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(byte value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTOIDFUNCSET value) => (byte)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(short value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTOIDFUNCSET value) => (short)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(int value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTOIDFUNCSET value) => (int)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(long value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTOIDFUNCSET value) => (long)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(nint value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTOIDFUNCSET value) => (nint)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(sbyte value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTOIDFUNCSET value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(ushort value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTOIDFUNCSET value) => (ushort)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(uint value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTOIDFUNCSET value) => (uint)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(ulong value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTOIDFUNCSET value) => (ulong)(value.Value); + + public static explicit operator HCRYPTOIDFUNCSET(nuint value) => + new HCRYPTOIDFUNCSET(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTOIDFUNCSET value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTOIDFUNCSET other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTOIDFUNCSET."); + } + + public int CompareTo(HCRYPTOIDFUNCSET other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTOIDFUNCSET other) && Equals(other); + + public bool Equals(HCRYPTOIDFUNCSET other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTPROV.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTPROV.gen.cs new file mode 100644 index 0000000000..74e72c1d2f --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTPROV.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTPROV + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTPROV(void* value) + { + Value = value; + } + + public static HCRYPTPROV INVALID_VALUE => new HCRYPTPROV((void*)(-1)); + public static HCRYPTPROV NULL => new HCRYPTPROV(null); + + public static bool operator ==(HCRYPTPROV left, HCRYPTPROV right) => left.Value == right.Value; + + public static bool operator !=(HCRYPTPROV left, HCRYPTPROV right) => left.Value != right.Value; + + public static bool operator <(HCRYPTPROV left, HCRYPTPROV right) => left.Value < right.Value; + + public static bool operator <=(HCRYPTPROV left, HCRYPTPROV right) => left.Value <= right.Value; + + public static bool operator >(HCRYPTPROV left, HCRYPTPROV right) => left.Value > right.Value; + + public static bool operator >=(HCRYPTPROV left, HCRYPTPROV right) => left.Value >= right.Value; + + public static explicit operator HCRYPTPROV(void* value) => new HCRYPTPROV(value); + + public static implicit operator void*(HCRYPTPROV value) => value.Value; + + public static explicit operator HCRYPTPROV(HANDLE value) => new HCRYPTPROV(value); + + public static implicit operator HANDLE(HCRYPTPROV value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTPROV(byte value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTPROV value) => (byte)(value.Value); + + public static explicit operator HCRYPTPROV(short value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTPROV value) => (short)(value.Value); + + public static explicit operator HCRYPTPROV(int value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTPROV value) => (int)(value.Value); + + public static explicit operator HCRYPTPROV(long value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTPROV value) => (long)(value.Value); + + public static explicit operator HCRYPTPROV(nint value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTPROV value) => (nint)(value.Value); + + public static explicit operator HCRYPTPROV(sbyte value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTPROV value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTPROV(ushort value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTPROV value) => (ushort)(value.Value); + + public static explicit operator HCRYPTPROV(uint value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTPROV value) => (uint)(value.Value); + + public static explicit operator HCRYPTPROV(ulong value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTPROV value) => (ulong)(value.Value); + + public static explicit operator HCRYPTPROV(nuint value) => + new HCRYPTPROV(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTPROV value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTPROV other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTPROV."); + } + + public int CompareTo(HCRYPTPROV other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTPROV other) && Equals(other); + + public bool Equals(HCRYPTPROV other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTPROV_LEGACY.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTPROV_LEGACY.gen.cs new file mode 100644 index 0000000000..11342aa0ef --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTPROV_LEGACY.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTPROV_LEGACY + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTPROV_LEGACY(void* value) + { + Value = value; + } + + public static HCRYPTPROV_LEGACY INVALID_VALUE => new HCRYPTPROV_LEGACY((void*)(-1)); + public static HCRYPTPROV_LEGACY NULL => new HCRYPTPROV_LEGACY(null); + + public static bool operator ==(HCRYPTPROV_LEGACY left, HCRYPTPROV_LEGACY right) => + left.Value == right.Value; + + public static bool operator !=(HCRYPTPROV_LEGACY left, HCRYPTPROV_LEGACY right) => + left.Value != right.Value; + + public static bool operator <(HCRYPTPROV_LEGACY left, HCRYPTPROV_LEGACY right) => + left.Value < right.Value; + + public static bool operator <=(HCRYPTPROV_LEGACY left, HCRYPTPROV_LEGACY right) => + left.Value <= right.Value; + + public static bool operator >(HCRYPTPROV_LEGACY left, HCRYPTPROV_LEGACY right) => + left.Value > right.Value; + + public static bool operator >=(HCRYPTPROV_LEGACY left, HCRYPTPROV_LEGACY right) => + left.Value >= right.Value; + + public static explicit operator HCRYPTPROV_LEGACY(void* value) => new HCRYPTPROV_LEGACY(value); + + public static implicit operator void*(HCRYPTPROV_LEGACY value) => value.Value; + + public static explicit operator HCRYPTPROV_LEGACY(HANDLE value) => new HCRYPTPROV_LEGACY(value); + + public static implicit operator HANDLE(HCRYPTPROV_LEGACY value) => new HANDLE(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(byte value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTPROV_LEGACY value) => (byte)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(short value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTPROV_LEGACY value) => (short)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(int value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTPROV_LEGACY value) => (int)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(long value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTPROV_LEGACY value) => (long)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(nint value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTPROV_LEGACY value) => (nint)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(sbyte value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTPROV_LEGACY value) => (sbyte)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(ushort value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTPROV_LEGACY value) => (ushort)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(uint value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTPROV_LEGACY value) => (uint)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(ulong value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTPROV_LEGACY value) => (ulong)(value.Value); + + public static explicit operator HCRYPTPROV_LEGACY(nuint value) => + new HCRYPTPROV_LEGACY(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTPROV_LEGACY value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTPROV_LEGACY other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCRYPTPROV_LEGACY."); + } + + public int CompareTo(HCRYPTPROV_LEGACY other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCRYPTPROV_LEGACY other) && Equals(other); + + public bool Equals(HCRYPTPROV_LEGACY other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCRYPTPROV_OR_NCRYPT_KEY_HANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/HCRYPTPROV_OR_NCRYPT_KEY_HANDLE.gen.cs new file mode 100644 index 0000000000..b5f009fe19 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCRYPTPROV_OR_NCRYPT_KEY_HANDLE.gen.cs @@ -0,0 +1,153 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCRYPTPROV_OR_NCRYPT_KEY_HANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(void* value) + { + Value = value; + } + + public static HCRYPTPROV_OR_NCRYPT_KEY_HANDLE INVALID_VALUE => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE((void*)(-1)); + public static HCRYPTPROV_OR_NCRYPT_KEY_HANDLE NULL => new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(null); + + public static bool operator ==( + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE left, + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE right + ) => left.Value == right.Value; + + public static bool operator !=( + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE left, + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE right + ) => left.Value != right.Value; + + public static bool operator <( + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE left, + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE right + ) => left.Value < right.Value; + + public static bool operator <=( + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE left, + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE right + ) => left.Value <= right.Value; + + public static bool operator >( + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE left, + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE right + ) => left.Value > right.Value; + + public static bool operator >=( + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE left, + HCRYPTPROV_OR_NCRYPT_KEY_HANDLE right + ) => left.Value >= right.Value; + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(void* value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(value); + + public static implicit operator void*(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => value.Value; + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(HANDLE value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(value); + + public static implicit operator HANDLE(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + new HANDLE(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(byte value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator byte(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (byte)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(short value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator short(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (short)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(int value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator int(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (int)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(long value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator long(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (long)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(nint value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static implicit operator nint(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (nint)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(sbyte value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (sbyte)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(ushort value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (ushort)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(uint value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator uint(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (uint)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(ulong value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (ulong)(value.Value); + + public static explicit operator HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(nuint value) => + new HCRYPTPROV_OR_NCRYPT_KEY_HANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE value) => + (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCRYPTPROV_OR_NCRYPT_KEY_HANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException( + "obj is not an instance of HCRYPTPROV_OR_NCRYPT_KEY_HANDLE." + ); + } + + public int CompareTo(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is HCRYPTPROV_OR_NCRYPT_KEY_HANDLE other) && Equals(other); + + public bool Equals(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HCURSOR.gen.cs b/sources/Windows/Windows/other/helper-types/HCURSOR.gen.cs new file mode 100644 index 0000000000..98ead582b2 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HCURSOR.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HCURSOR + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HCURSOR(void* value) + { + Value = value; + } + + public static HCURSOR INVALID_VALUE => new HCURSOR((void*)(-1)); + public static HCURSOR NULL => new HCURSOR(null); + + public static bool operator ==(HCURSOR left, HCURSOR right) => left.Value == right.Value; + + public static bool operator !=(HCURSOR left, HCURSOR right) => left.Value != right.Value; + + public static bool operator <(HCURSOR left, HCURSOR right) => left.Value < right.Value; + + public static bool operator <=(HCURSOR left, HCURSOR right) => left.Value <= right.Value; + + public static bool operator >(HCURSOR left, HCURSOR right) => left.Value > right.Value; + + public static bool operator >=(HCURSOR left, HCURSOR right) => left.Value >= right.Value; + + public static explicit operator HCURSOR(void* value) => new HCURSOR(value); + + public static implicit operator void*(HCURSOR value) => value.Value; + + public static explicit operator HCURSOR(HANDLE value) => new HCURSOR(value); + + public static implicit operator HANDLE(HCURSOR value) => new HANDLE(value.Value); + + public static explicit operator HCURSOR(byte value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator byte(HCURSOR value) => (byte)(value.Value); + + public static explicit operator HCURSOR(short value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator short(HCURSOR value) => (short)(value.Value); + + public static explicit operator HCURSOR(int value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator int(HCURSOR value) => (int)(value.Value); + + public static explicit operator HCURSOR(long value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator long(HCURSOR value) => (long)(value.Value); + + public static explicit operator HCURSOR(nint value) => new HCURSOR(unchecked((void*)(value))); + + public static implicit operator nint(HCURSOR value) => (nint)(value.Value); + + public static explicit operator HCURSOR(sbyte value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator sbyte(HCURSOR value) => (sbyte)(value.Value); + + public static explicit operator HCURSOR(ushort value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator ushort(HCURSOR value) => (ushort)(value.Value); + + public static explicit operator HCURSOR(uint value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator uint(HCURSOR value) => (uint)(value.Value); + + public static explicit operator HCURSOR(ulong value) => new HCURSOR(unchecked((void*)(value))); + + public static explicit operator ulong(HCURSOR value) => (ulong)(value.Value); + + public static explicit operator HCURSOR(nuint value) => new HCURSOR(unchecked((void*)(value))); + + public static implicit operator nuint(HCURSOR value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HCURSOR other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HCURSOR."); + } + + public int CompareTo(HCURSOR other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HCURSOR other) && Equals(other); + + public bool Equals(HCURSOR other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HDC.gen.cs b/sources/Windows/Windows/other/helper-types/HDC.gen.cs new file mode 100644 index 0000000000..a497d3c44a --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HDC.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HDC + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HDC(void* value) + { + Value = value; + } + + public static HDC INVALID_VALUE => new HDC((void*)(-1)); + public static HDC NULL => new HDC(null); + + public static bool operator ==(HDC left, HDC right) => left.Value == right.Value; + + public static bool operator !=(HDC left, HDC right) => left.Value != right.Value; + + public static bool operator <(HDC left, HDC right) => left.Value < right.Value; + + public static bool operator <=(HDC left, HDC right) => left.Value <= right.Value; + + public static bool operator >(HDC left, HDC right) => left.Value > right.Value; + + public static bool operator >=(HDC left, HDC right) => left.Value >= right.Value; + + public static explicit operator HDC(void* value) => new HDC(value); + + public static implicit operator void*(HDC value) => value.Value; + + public static explicit operator HDC(HANDLE value) => new HDC(value); + + public static implicit operator HANDLE(HDC value) => new HANDLE(value.Value); + + public static explicit operator HDC(byte value) => new HDC(unchecked((void*)(value))); + + public static explicit operator byte(HDC value) => (byte)(value.Value); + + public static explicit operator HDC(short value) => new HDC(unchecked((void*)(value))); + + public static explicit operator short(HDC value) => (short)(value.Value); + + public static explicit operator HDC(int value) => new HDC(unchecked((void*)(value))); + + public static explicit operator int(HDC value) => (int)(value.Value); + + public static explicit operator HDC(long value) => new HDC(unchecked((void*)(value))); + + public static explicit operator long(HDC value) => (long)(value.Value); + + public static explicit operator HDC(nint value) => new HDC(unchecked((void*)(value))); + + public static implicit operator nint(HDC value) => (nint)(value.Value); + + public static explicit operator HDC(sbyte value) => new HDC(unchecked((void*)(value))); + + public static explicit operator sbyte(HDC value) => (sbyte)(value.Value); + + public static explicit operator HDC(ushort value) => new HDC(unchecked((void*)(value))); + + public static explicit operator ushort(HDC value) => (ushort)(value.Value); + + public static explicit operator HDC(uint value) => new HDC(unchecked((void*)(value))); + + public static explicit operator uint(HDC value) => (uint)(value.Value); + + public static explicit operator HDC(ulong value) => new HDC(unchecked((void*)(value))); + + public static explicit operator ulong(HDC value) => (ulong)(value.Value); + + public static explicit operator HDC(nuint value) => new HDC(unchecked((void*)(value))); + + public static implicit operator nuint(HDC value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HDC other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HDC."); + } + + public int CompareTo(HDC other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HDC other) && Equals(other); + + public bool Equals(HDC other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HDESK.gen.cs b/sources/Windows/Windows/other/helper-types/HDESK.gen.cs new file mode 100644 index 0000000000..1355f07176 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HDESK.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HDESK + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HDESK(void* value) + { + Value = value; + } + + public static HDESK INVALID_VALUE => new HDESK((void*)(-1)); + public static HDESK NULL => new HDESK(null); + + public static bool operator ==(HDESK left, HDESK right) => left.Value == right.Value; + + public static bool operator !=(HDESK left, HDESK right) => left.Value != right.Value; + + public static bool operator <(HDESK left, HDESK right) => left.Value < right.Value; + + public static bool operator <=(HDESK left, HDESK right) => left.Value <= right.Value; + + public static bool operator >(HDESK left, HDESK right) => left.Value > right.Value; + + public static bool operator >=(HDESK left, HDESK right) => left.Value >= right.Value; + + public static explicit operator HDESK(void* value) => new HDESK(value); + + public static implicit operator void*(HDESK value) => value.Value; + + public static explicit operator HDESK(HANDLE value) => new HDESK(value); + + public static implicit operator HANDLE(HDESK value) => new HANDLE(value.Value); + + public static explicit operator HDESK(byte value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator byte(HDESK value) => (byte)(value.Value); + + public static explicit operator HDESK(short value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator short(HDESK value) => (short)(value.Value); + + public static explicit operator HDESK(int value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator int(HDESK value) => (int)(value.Value); + + public static explicit operator HDESK(long value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator long(HDESK value) => (long)(value.Value); + + public static explicit operator HDESK(nint value) => new HDESK(unchecked((void*)(value))); + + public static implicit operator nint(HDESK value) => (nint)(value.Value); + + public static explicit operator HDESK(sbyte value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator sbyte(HDESK value) => (sbyte)(value.Value); + + public static explicit operator HDESK(ushort value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator ushort(HDESK value) => (ushort)(value.Value); + + public static explicit operator HDESK(uint value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator uint(HDESK value) => (uint)(value.Value); + + public static explicit operator HDESK(ulong value) => new HDESK(unchecked((void*)(value))); + + public static explicit operator ulong(HDESK value) => (ulong)(value.Value); + + public static explicit operator HDESK(nuint value) => new HDESK(unchecked((void*)(value))); + + public static implicit operator nuint(HDESK value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HDESK other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HDESK."); + } + + public int CompareTo(HDESK other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HDESK other) && Equals(other); + + public bool Equals(HDESK other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HDEVINFO.gen.cs b/sources/Windows/Windows/other/helper-types/HDEVINFO.gen.cs new file mode 100644 index 0000000000..95e5ef08b5 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HDEVINFO.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HDEVINFO + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HDEVINFO(void* value) + { + Value = value; + } + + public static HDEVINFO INVALID_VALUE => new HDEVINFO((void*)(-1)); + public static HDEVINFO NULL => new HDEVINFO(null); + + public static bool operator ==(HDEVINFO left, HDEVINFO right) => left.Value == right.Value; + + public static bool operator !=(HDEVINFO left, HDEVINFO right) => left.Value != right.Value; + + public static bool operator <(HDEVINFO left, HDEVINFO right) => left.Value < right.Value; + + public static bool operator <=(HDEVINFO left, HDEVINFO right) => left.Value <= right.Value; + + public static bool operator >(HDEVINFO left, HDEVINFO right) => left.Value > right.Value; + + public static bool operator >=(HDEVINFO left, HDEVINFO right) => left.Value >= right.Value; + + public static explicit operator HDEVINFO(void* value) => new HDEVINFO(value); + + public static implicit operator void*(HDEVINFO value) => value.Value; + + public static explicit operator HDEVINFO(HANDLE value) => new HDEVINFO(value); + + public static implicit operator HANDLE(HDEVINFO value) => new HANDLE(value.Value); + + public static explicit operator HDEVINFO(byte value) => new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator byte(HDEVINFO value) => (byte)(value.Value); + + public static explicit operator HDEVINFO(short value) => + new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator short(HDEVINFO value) => (short)(value.Value); + + public static explicit operator HDEVINFO(int value) => new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator int(HDEVINFO value) => (int)(value.Value); + + public static explicit operator HDEVINFO(long value) => new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator long(HDEVINFO value) => (long)(value.Value); + + public static explicit operator HDEVINFO(nint value) => new HDEVINFO(unchecked((void*)(value))); + + public static implicit operator nint(HDEVINFO value) => (nint)(value.Value); + + public static explicit operator HDEVINFO(sbyte value) => + new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator sbyte(HDEVINFO value) => (sbyte)(value.Value); + + public static explicit operator HDEVINFO(ushort value) => + new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator ushort(HDEVINFO value) => (ushort)(value.Value); + + public static explicit operator HDEVINFO(uint value) => new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator uint(HDEVINFO value) => (uint)(value.Value); + + public static explicit operator HDEVINFO(ulong value) => + new HDEVINFO(unchecked((void*)(value))); + + public static explicit operator ulong(HDEVINFO value) => (ulong)(value.Value); + + public static explicit operator HDEVINFO(nuint value) => + new HDEVINFO(unchecked((void*)(value))); + + public static implicit operator nuint(HDEVINFO value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HDEVINFO other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HDEVINFO."); + } + + public int CompareTo(HDEVINFO other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HDEVINFO other) && Equals(other); + + public bool Equals(HDEVINFO other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HDEVNOTIFY.gen.cs b/sources/Windows/Windows/other/helper-types/HDEVNOTIFY.gen.cs new file mode 100644 index 0000000000..c971551c7e --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HDEVNOTIFY.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HDEVNOTIFY + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HDEVNOTIFY(void* value) + { + Value = value; + } + + public static HDEVNOTIFY INVALID_VALUE => new HDEVNOTIFY((void*)(-1)); + public static HDEVNOTIFY NULL => new HDEVNOTIFY(null); + + public static bool operator ==(HDEVNOTIFY left, HDEVNOTIFY right) => left.Value == right.Value; + + public static bool operator !=(HDEVNOTIFY left, HDEVNOTIFY right) => left.Value != right.Value; + + public static bool operator <(HDEVNOTIFY left, HDEVNOTIFY right) => left.Value < right.Value; + + public static bool operator <=(HDEVNOTIFY left, HDEVNOTIFY right) => left.Value <= right.Value; + + public static bool operator >(HDEVNOTIFY left, HDEVNOTIFY right) => left.Value > right.Value; + + public static bool operator >=(HDEVNOTIFY left, HDEVNOTIFY right) => left.Value >= right.Value; + + public static explicit operator HDEVNOTIFY(void* value) => new HDEVNOTIFY(value); + + public static implicit operator void*(HDEVNOTIFY value) => value.Value; + + public static explicit operator HDEVNOTIFY(HANDLE value) => new HDEVNOTIFY(value); + + public static implicit operator HANDLE(HDEVNOTIFY value) => new HANDLE(value.Value); + + public static explicit operator HDEVNOTIFY(byte value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator byte(HDEVNOTIFY value) => (byte)(value.Value); + + public static explicit operator HDEVNOTIFY(short value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator short(HDEVNOTIFY value) => (short)(value.Value); + + public static explicit operator HDEVNOTIFY(int value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator int(HDEVNOTIFY value) => (int)(value.Value); + + public static explicit operator HDEVNOTIFY(long value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator long(HDEVNOTIFY value) => (long)(value.Value); + + public static explicit operator HDEVNOTIFY(nint value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static implicit operator nint(HDEVNOTIFY value) => (nint)(value.Value); + + public static explicit operator HDEVNOTIFY(sbyte value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator sbyte(HDEVNOTIFY value) => (sbyte)(value.Value); + + public static explicit operator HDEVNOTIFY(ushort value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator ushort(HDEVNOTIFY value) => (ushort)(value.Value); + + public static explicit operator HDEVNOTIFY(uint value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator uint(HDEVNOTIFY value) => (uint)(value.Value); + + public static explicit operator HDEVNOTIFY(ulong value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static explicit operator ulong(HDEVNOTIFY value) => (ulong)(value.Value); + + public static explicit operator HDEVNOTIFY(nuint value) => + new HDEVNOTIFY(unchecked((void*)(value))); + + public static implicit operator nuint(HDEVNOTIFY value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HDEVNOTIFY other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HDEVNOTIFY."); + } + + public int CompareTo(HDEVNOTIFY other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HDEVNOTIFY other) && Equals(other); + + public bool Equals(HDEVNOTIFY other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HDROP.gen.cs b/sources/Windows/Windows/other/helper-types/HDROP.gen.cs new file mode 100644 index 0000000000..871effc304 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HDROP.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HDROP + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HDROP(void* value) + { + Value = value; + } + + public static HDROP INVALID_VALUE => new HDROP((void*)(-1)); + public static HDROP NULL => new HDROP(null); + + public static bool operator ==(HDROP left, HDROP right) => left.Value == right.Value; + + public static bool operator !=(HDROP left, HDROP right) => left.Value != right.Value; + + public static bool operator <(HDROP left, HDROP right) => left.Value < right.Value; + + public static bool operator <=(HDROP left, HDROP right) => left.Value <= right.Value; + + public static bool operator >(HDROP left, HDROP right) => left.Value > right.Value; + + public static bool operator >=(HDROP left, HDROP right) => left.Value >= right.Value; + + public static explicit operator HDROP(void* value) => new HDROP(value); + + public static implicit operator void*(HDROP value) => value.Value; + + public static explicit operator HDROP(HANDLE value) => new HDROP(value); + + public static implicit operator HANDLE(HDROP value) => new HANDLE(value.Value); + + public static explicit operator HDROP(byte value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator byte(HDROP value) => (byte)(value.Value); + + public static explicit operator HDROP(short value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator short(HDROP value) => (short)(value.Value); + + public static explicit operator HDROP(int value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator int(HDROP value) => (int)(value.Value); + + public static explicit operator HDROP(long value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator long(HDROP value) => (long)(value.Value); + + public static explicit operator HDROP(nint value) => new HDROP(unchecked((void*)(value))); + + public static implicit operator nint(HDROP value) => (nint)(value.Value); + + public static explicit operator HDROP(sbyte value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator sbyte(HDROP value) => (sbyte)(value.Value); + + public static explicit operator HDROP(ushort value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator ushort(HDROP value) => (ushort)(value.Value); + + public static explicit operator HDROP(uint value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator uint(HDROP value) => (uint)(value.Value); + + public static explicit operator HDROP(ulong value) => new HDROP(unchecked((void*)(value))); + + public static explicit operator ulong(HDROP value) => (ulong)(value.Value); + + public static explicit operator HDROP(nuint value) => new HDROP(unchecked((void*)(value))); + + public static implicit operator nuint(HDROP value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HDROP other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HDROP."); + } + + public int CompareTo(HDROP other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HDROP other) && Equals(other); + + public bool Equals(HDROP other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HDSKSPC.gen.cs b/sources/Windows/Windows/other/helper-types/HDSKSPC.gen.cs new file mode 100644 index 0000000000..e881f7d230 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HDSKSPC.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HDSKSPC + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HDSKSPC(void* value) + { + Value = value; + } + + public static HDSKSPC INVALID_VALUE => new HDSKSPC((void*)(-1)); + public static HDSKSPC NULL => new HDSKSPC(null); + + public static bool operator ==(HDSKSPC left, HDSKSPC right) => left.Value == right.Value; + + public static bool operator !=(HDSKSPC left, HDSKSPC right) => left.Value != right.Value; + + public static bool operator <(HDSKSPC left, HDSKSPC right) => left.Value < right.Value; + + public static bool operator <=(HDSKSPC left, HDSKSPC right) => left.Value <= right.Value; + + public static bool operator >(HDSKSPC left, HDSKSPC right) => left.Value > right.Value; + + public static bool operator >=(HDSKSPC left, HDSKSPC right) => left.Value >= right.Value; + + public static explicit operator HDSKSPC(void* value) => new HDSKSPC(value); + + public static implicit operator void*(HDSKSPC value) => value.Value; + + public static explicit operator HDSKSPC(HANDLE value) => new HDSKSPC(value); + + public static implicit operator HANDLE(HDSKSPC value) => new HANDLE(value.Value); + + public static explicit operator HDSKSPC(byte value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator byte(HDSKSPC value) => (byte)(value.Value); + + public static explicit operator HDSKSPC(short value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator short(HDSKSPC value) => (short)(value.Value); + + public static explicit operator HDSKSPC(int value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator int(HDSKSPC value) => (int)(value.Value); + + public static explicit operator HDSKSPC(long value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator long(HDSKSPC value) => (long)(value.Value); + + public static explicit operator HDSKSPC(nint value) => new HDSKSPC(unchecked((void*)(value))); + + public static implicit operator nint(HDSKSPC value) => (nint)(value.Value); + + public static explicit operator HDSKSPC(sbyte value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator sbyte(HDSKSPC value) => (sbyte)(value.Value); + + public static explicit operator HDSKSPC(ushort value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator ushort(HDSKSPC value) => (ushort)(value.Value); + + public static explicit operator HDSKSPC(uint value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator uint(HDSKSPC value) => (uint)(value.Value); + + public static explicit operator HDSKSPC(ulong value) => new HDSKSPC(unchecked((void*)(value))); + + public static explicit operator ulong(HDSKSPC value) => (ulong)(value.Value); + + public static explicit operator HDSKSPC(nuint value) => new HDSKSPC(unchecked((void*)(value))); + + public static implicit operator nuint(HDSKSPC value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HDSKSPC other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HDSKSPC."); + } + + public int CompareTo(HDSKSPC other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HDSKSPC other) && Equals(other); + + public bool Equals(HDSKSPC other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HDWP.gen.cs b/sources/Windows/Windows/other/helper-types/HDWP.gen.cs new file mode 100644 index 0000000000..f27f322ada --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HDWP.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HDWP + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HDWP(void* value) + { + Value = value; + } + + public static HDWP INVALID_VALUE => new HDWP((void*)(-1)); + public static HDWP NULL => new HDWP(null); + + public static bool operator ==(HDWP left, HDWP right) => left.Value == right.Value; + + public static bool operator !=(HDWP left, HDWP right) => left.Value != right.Value; + + public static bool operator <(HDWP left, HDWP right) => left.Value < right.Value; + + public static bool operator <=(HDWP left, HDWP right) => left.Value <= right.Value; + + public static bool operator >(HDWP left, HDWP right) => left.Value > right.Value; + + public static bool operator >=(HDWP left, HDWP right) => left.Value >= right.Value; + + public static explicit operator HDWP(void* value) => new HDWP(value); + + public static implicit operator void*(HDWP value) => value.Value; + + public static explicit operator HDWP(HANDLE value) => new HDWP(value); + + public static implicit operator HANDLE(HDWP value) => new HANDLE(value.Value); + + public static explicit operator HDWP(byte value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator byte(HDWP value) => (byte)(value.Value); + + public static explicit operator HDWP(short value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator short(HDWP value) => (short)(value.Value); + + public static explicit operator HDWP(int value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator int(HDWP value) => (int)(value.Value); + + public static explicit operator HDWP(long value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator long(HDWP value) => (long)(value.Value); + + public static explicit operator HDWP(nint value) => new HDWP(unchecked((void*)(value))); + + public static implicit operator nint(HDWP value) => (nint)(value.Value); + + public static explicit operator HDWP(sbyte value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator sbyte(HDWP value) => (sbyte)(value.Value); + + public static explicit operator HDWP(ushort value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator ushort(HDWP value) => (ushort)(value.Value); + + public static explicit operator HDWP(uint value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator uint(HDWP value) => (uint)(value.Value); + + public static explicit operator HDWP(ulong value) => new HDWP(unchecked((void*)(value))); + + public static explicit operator ulong(HDWP value) => (ulong)(value.Value); + + public static explicit operator HDWP(nuint value) => new HDWP(unchecked((void*)(value))); + + public static implicit operator nuint(HDWP value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HDWP other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HDWP."); + } + + public int CompareTo(HDWP other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HDWP other) && Equals(other); + + public bool Equals(HDWP other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HENHMETAFILE.gen.cs b/sources/Windows/Windows/other/helper-types/HENHMETAFILE.gen.cs new file mode 100644 index 0000000000..5da246d7f1 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HENHMETAFILE.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HENHMETAFILE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HENHMETAFILE(void* value) + { + Value = value; + } + + public static HENHMETAFILE INVALID_VALUE => new HENHMETAFILE((void*)(-1)); + public static HENHMETAFILE NULL => new HENHMETAFILE(null); + + public static bool operator ==(HENHMETAFILE left, HENHMETAFILE right) => + left.Value == right.Value; + + public static bool operator !=(HENHMETAFILE left, HENHMETAFILE right) => + left.Value != right.Value; + + public static bool operator <(HENHMETAFILE left, HENHMETAFILE right) => + left.Value < right.Value; + + public static bool operator <=(HENHMETAFILE left, HENHMETAFILE right) => + left.Value <= right.Value; + + public static bool operator >(HENHMETAFILE left, HENHMETAFILE right) => + left.Value > right.Value; + + public static bool operator >=(HENHMETAFILE left, HENHMETAFILE right) => + left.Value >= right.Value; + + public static explicit operator HENHMETAFILE(void* value) => new HENHMETAFILE(value); + + public static implicit operator void*(HENHMETAFILE value) => value.Value; + + public static explicit operator HENHMETAFILE(HANDLE value) => new HENHMETAFILE(value); + + public static implicit operator HANDLE(HENHMETAFILE value) => new HANDLE(value.Value); + + public static explicit operator HENHMETAFILE(byte value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator byte(HENHMETAFILE value) => (byte)(value.Value); + + public static explicit operator HENHMETAFILE(short value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator short(HENHMETAFILE value) => (short)(value.Value); + + public static explicit operator HENHMETAFILE(int value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator int(HENHMETAFILE value) => (int)(value.Value); + + public static explicit operator HENHMETAFILE(long value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator long(HENHMETAFILE value) => (long)(value.Value); + + public static explicit operator HENHMETAFILE(nint value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static implicit operator nint(HENHMETAFILE value) => (nint)(value.Value); + + public static explicit operator HENHMETAFILE(sbyte value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator sbyte(HENHMETAFILE value) => (sbyte)(value.Value); + + public static explicit operator HENHMETAFILE(ushort value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator ushort(HENHMETAFILE value) => (ushort)(value.Value); + + public static explicit operator HENHMETAFILE(uint value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator uint(HENHMETAFILE value) => (uint)(value.Value); + + public static explicit operator HENHMETAFILE(ulong value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static explicit operator ulong(HENHMETAFILE value) => (ulong)(value.Value); + + public static explicit operator HENHMETAFILE(nuint value) => + new HENHMETAFILE(unchecked((void*)(value))); + + public static implicit operator nuint(HENHMETAFILE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HENHMETAFILE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HENHMETAFILE."); + } + + public int CompareTo(HENHMETAFILE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HENHMETAFILE other) && Equals(other); + + public bool Equals(HENHMETAFILE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HEVENT.gen.cs b/sources/Windows/Windows/other/helper-types/HEVENT.gen.cs new file mode 100644 index 0000000000..f757fc95b8 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HEVENT.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HEVENT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HEVENT(void* value) + { + Value = value; + } + + public static HEVENT INVALID_VALUE => new HEVENT((void*)(-1)); + public static HEVENT NULL => new HEVENT(null); + + public static bool operator ==(HEVENT left, HEVENT right) => left.Value == right.Value; + + public static bool operator !=(HEVENT left, HEVENT right) => left.Value != right.Value; + + public static bool operator <(HEVENT left, HEVENT right) => left.Value < right.Value; + + public static bool operator <=(HEVENT left, HEVENT right) => left.Value <= right.Value; + + public static bool operator >(HEVENT left, HEVENT right) => left.Value > right.Value; + + public static bool operator >=(HEVENT left, HEVENT right) => left.Value >= right.Value; + + public static explicit operator HEVENT(void* value) => new HEVENT(value); + + public static implicit operator void*(HEVENT value) => value.Value; + + public static explicit operator HEVENT(HANDLE value) => new HEVENT(value); + + public static implicit operator HANDLE(HEVENT value) => new HANDLE(value.Value); + + public static explicit operator HEVENT(byte value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator byte(HEVENT value) => (byte)(value.Value); + + public static explicit operator HEVENT(short value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator short(HEVENT value) => (short)(value.Value); + + public static explicit operator HEVENT(int value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator int(HEVENT value) => (int)(value.Value); + + public static explicit operator HEVENT(long value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator long(HEVENT value) => (long)(value.Value); + + public static explicit operator HEVENT(nint value) => new HEVENT(unchecked((void*)(value))); + + public static implicit operator nint(HEVENT value) => (nint)(value.Value); + + public static explicit operator HEVENT(sbyte value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator sbyte(HEVENT value) => (sbyte)(value.Value); + + public static explicit operator HEVENT(ushort value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator ushort(HEVENT value) => (ushort)(value.Value); + + public static explicit operator HEVENT(uint value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator uint(HEVENT value) => (uint)(value.Value); + + public static explicit operator HEVENT(ulong value) => new HEVENT(unchecked((void*)(value))); + + public static explicit operator ulong(HEVENT value) => (ulong)(value.Value); + + public static explicit operator HEVENT(nuint value) => new HEVENT(unchecked((void*)(value))); + + public static implicit operator nuint(HEVENT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HEVENT other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HEVENT."); + } + + public int CompareTo(HEVENT other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HEVENT other) && Equals(other); + + public bool Equals(HEVENT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HFONT.gen.cs b/sources/Windows/Windows/other/helper-types/HFONT.gen.cs new file mode 100644 index 0000000000..c36b9bf57d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HFONT.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HFONT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HFONT(void* value) + { + Value = value; + } + + public static HFONT INVALID_VALUE => new HFONT((void*)(-1)); + public static HFONT NULL => new HFONT(null); + + public static bool operator ==(HFONT left, HFONT right) => left.Value == right.Value; + + public static bool operator !=(HFONT left, HFONT right) => left.Value != right.Value; + + public static bool operator <(HFONT left, HFONT right) => left.Value < right.Value; + + public static bool operator <=(HFONT left, HFONT right) => left.Value <= right.Value; + + public static bool operator >(HFONT left, HFONT right) => left.Value > right.Value; + + public static bool operator >=(HFONT left, HFONT right) => left.Value >= right.Value; + + public static explicit operator HFONT(void* value) => new HFONT(value); + + public static implicit operator void*(HFONT value) => value.Value; + + public static explicit operator HFONT(HANDLE value) => new HFONT(value); + + public static implicit operator HANDLE(HFONT value) => new HANDLE(value.Value); + + public static explicit operator HFONT(byte value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator byte(HFONT value) => (byte)(value.Value); + + public static explicit operator HFONT(short value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator short(HFONT value) => (short)(value.Value); + + public static explicit operator HFONT(int value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator int(HFONT value) => (int)(value.Value); + + public static explicit operator HFONT(long value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator long(HFONT value) => (long)(value.Value); + + public static explicit operator HFONT(nint value) => new HFONT(unchecked((void*)(value))); + + public static implicit operator nint(HFONT value) => (nint)(value.Value); + + public static explicit operator HFONT(sbyte value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator sbyte(HFONT value) => (sbyte)(value.Value); + + public static explicit operator HFONT(ushort value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator ushort(HFONT value) => (ushort)(value.Value); + + public static explicit operator HFONT(uint value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator uint(HFONT value) => (uint)(value.Value); + + public static explicit operator HFONT(ulong value) => new HFONT(unchecked((void*)(value))); + + public static explicit operator ulong(HFONT value) => (ulong)(value.Value); + + public static explicit operator HFONT(nuint value) => new HFONT(unchecked((void*)(value))); + + public static implicit operator nuint(HFONT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HFONT other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HFONT."); + } + + public int CompareTo(HFONT other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HFONT other) && Equals(other); + + public bool Equals(HFONT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HGDIOBJ.gen.cs b/sources/Windows/Windows/other/helper-types/HGDIOBJ.gen.cs new file mode 100644 index 0000000000..1a14e39efa --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HGDIOBJ.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HGDIOBJ + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HGDIOBJ(void* value) + { + Value = value; + } + + public static HGDIOBJ INVALID_VALUE => new HGDIOBJ((void*)(-1)); + public static HGDIOBJ NULL => new HGDIOBJ(null); + + public static bool operator ==(HGDIOBJ left, HGDIOBJ right) => left.Value == right.Value; + + public static bool operator !=(HGDIOBJ left, HGDIOBJ right) => left.Value != right.Value; + + public static bool operator <(HGDIOBJ left, HGDIOBJ right) => left.Value < right.Value; + + public static bool operator <=(HGDIOBJ left, HGDIOBJ right) => left.Value <= right.Value; + + public static bool operator >(HGDIOBJ left, HGDIOBJ right) => left.Value > right.Value; + + public static bool operator >=(HGDIOBJ left, HGDIOBJ right) => left.Value >= right.Value; + + public static explicit operator HGDIOBJ(void* value) => new HGDIOBJ(value); + + public static implicit operator void*(HGDIOBJ value) => value.Value; + + public static explicit operator HGDIOBJ(HANDLE value) => new HGDIOBJ(value); + + public static implicit operator HANDLE(HGDIOBJ value) => new HANDLE(value.Value); + + public static explicit operator HGDIOBJ(byte value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator byte(HGDIOBJ value) => (byte)(value.Value); + + public static explicit operator HGDIOBJ(short value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator short(HGDIOBJ value) => (short)(value.Value); + + public static explicit operator HGDIOBJ(int value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator int(HGDIOBJ value) => (int)(value.Value); + + public static explicit operator HGDIOBJ(long value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator long(HGDIOBJ value) => (long)(value.Value); + + public static explicit operator HGDIOBJ(nint value) => new HGDIOBJ(unchecked((void*)(value))); + + public static implicit operator nint(HGDIOBJ value) => (nint)(value.Value); + + public static explicit operator HGDIOBJ(sbyte value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator sbyte(HGDIOBJ value) => (sbyte)(value.Value); + + public static explicit operator HGDIOBJ(ushort value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator ushort(HGDIOBJ value) => (ushort)(value.Value); + + public static explicit operator HGDIOBJ(uint value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator uint(HGDIOBJ value) => (uint)(value.Value); + + public static explicit operator HGDIOBJ(ulong value) => new HGDIOBJ(unchecked((void*)(value))); + + public static explicit operator ulong(HGDIOBJ value) => (ulong)(value.Value); + + public static explicit operator HGDIOBJ(nuint value) => new HGDIOBJ(unchecked((void*)(value))); + + public static implicit operator nuint(HGDIOBJ value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HGDIOBJ other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HGDIOBJ."); + } + + public int CompareTo(HGDIOBJ other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HGDIOBJ other) && Equals(other); + + public bool Equals(HGDIOBJ other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HGESTUREINFO.gen.cs b/sources/Windows/Windows/other/helper-types/HGESTUREINFO.gen.cs new file mode 100644 index 0000000000..fe54d37042 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HGESTUREINFO.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HGESTUREINFO + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HGESTUREINFO(void* value) + { + Value = value; + } + + public static HGESTUREINFO INVALID_VALUE => new HGESTUREINFO((void*)(-1)); + public static HGESTUREINFO NULL => new HGESTUREINFO(null); + + public static bool operator ==(HGESTUREINFO left, HGESTUREINFO right) => + left.Value == right.Value; + + public static bool operator !=(HGESTUREINFO left, HGESTUREINFO right) => + left.Value != right.Value; + + public static bool operator <(HGESTUREINFO left, HGESTUREINFO right) => + left.Value < right.Value; + + public static bool operator <=(HGESTUREINFO left, HGESTUREINFO right) => + left.Value <= right.Value; + + public static bool operator >(HGESTUREINFO left, HGESTUREINFO right) => + left.Value > right.Value; + + public static bool operator >=(HGESTUREINFO left, HGESTUREINFO right) => + left.Value >= right.Value; + + public static explicit operator HGESTUREINFO(void* value) => new HGESTUREINFO(value); + + public static implicit operator void*(HGESTUREINFO value) => value.Value; + + public static explicit operator HGESTUREINFO(HANDLE value) => new HGESTUREINFO(value); + + public static implicit operator HANDLE(HGESTUREINFO value) => new HANDLE(value.Value); + + public static explicit operator HGESTUREINFO(byte value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator byte(HGESTUREINFO value) => (byte)(value.Value); + + public static explicit operator HGESTUREINFO(short value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator short(HGESTUREINFO value) => (short)(value.Value); + + public static explicit operator HGESTUREINFO(int value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator int(HGESTUREINFO value) => (int)(value.Value); + + public static explicit operator HGESTUREINFO(long value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator long(HGESTUREINFO value) => (long)(value.Value); + + public static explicit operator HGESTUREINFO(nint value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static implicit operator nint(HGESTUREINFO value) => (nint)(value.Value); + + public static explicit operator HGESTUREINFO(sbyte value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator sbyte(HGESTUREINFO value) => (sbyte)(value.Value); + + public static explicit operator HGESTUREINFO(ushort value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator ushort(HGESTUREINFO value) => (ushort)(value.Value); + + public static explicit operator HGESTUREINFO(uint value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator uint(HGESTUREINFO value) => (uint)(value.Value); + + public static explicit operator HGESTUREINFO(ulong value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static explicit operator ulong(HGESTUREINFO value) => (ulong)(value.Value); + + public static explicit operator HGESTUREINFO(nuint value) => + new HGESTUREINFO(unchecked((void*)(value))); + + public static implicit operator nuint(HGESTUREINFO value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HGESTUREINFO other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HGESTUREINFO."); + } + + public int CompareTo(HGESTUREINFO other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HGESTUREINFO other) && Equals(other); + + public bool Equals(HGESTUREINFO other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HGLOBAL.gen.cs b/sources/Windows/Windows/other/helper-types/HGLOBAL.gen.cs new file mode 100644 index 0000000000..26ad9363f2 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HGLOBAL.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HGLOBAL + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HGLOBAL(void* value) + { + Value = value; + } + + public static HGLOBAL INVALID_VALUE => new HGLOBAL((void*)(-1)); + public static HGLOBAL NULL => new HGLOBAL(null); + + public static bool operator ==(HGLOBAL left, HGLOBAL right) => left.Value == right.Value; + + public static bool operator !=(HGLOBAL left, HGLOBAL right) => left.Value != right.Value; + + public static bool operator <(HGLOBAL left, HGLOBAL right) => left.Value < right.Value; + + public static bool operator <=(HGLOBAL left, HGLOBAL right) => left.Value <= right.Value; + + public static bool operator >(HGLOBAL left, HGLOBAL right) => left.Value > right.Value; + + public static bool operator >=(HGLOBAL left, HGLOBAL right) => left.Value >= right.Value; + + public static explicit operator HGLOBAL(void* value) => new HGLOBAL(value); + + public static implicit operator void*(HGLOBAL value) => value.Value; + + public static explicit operator HGLOBAL(HANDLE value) => new HGLOBAL(value); + + public static implicit operator HANDLE(HGLOBAL value) => new HANDLE(value.Value); + + public static explicit operator HGLOBAL(byte value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator byte(HGLOBAL value) => (byte)(value.Value); + + public static explicit operator HGLOBAL(short value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator short(HGLOBAL value) => (short)(value.Value); + + public static explicit operator HGLOBAL(int value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator int(HGLOBAL value) => (int)(value.Value); + + public static explicit operator HGLOBAL(long value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator long(HGLOBAL value) => (long)(value.Value); + + public static explicit operator HGLOBAL(nint value) => new HGLOBAL(unchecked((void*)(value))); + + public static implicit operator nint(HGLOBAL value) => (nint)(value.Value); + + public static explicit operator HGLOBAL(sbyte value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator sbyte(HGLOBAL value) => (sbyte)(value.Value); + + public static explicit operator HGLOBAL(ushort value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator ushort(HGLOBAL value) => (ushort)(value.Value); + + public static explicit operator HGLOBAL(uint value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator uint(HGLOBAL value) => (uint)(value.Value); + + public static explicit operator HGLOBAL(ulong value) => new HGLOBAL(unchecked((void*)(value))); + + public static explicit operator ulong(HGLOBAL value) => (ulong)(value.Value); + + public static explicit operator HGLOBAL(nuint value) => new HGLOBAL(unchecked((void*)(value))); + + public static implicit operator nuint(HGLOBAL value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HGLOBAL other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HGLOBAL."); + } + + public int CompareTo(HGLOBAL other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HGLOBAL other) && Equals(other); + + public bool Equals(HGLOBAL other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HGLRC.gen.cs b/sources/Windows/Windows/other/helper-types/HGLRC.gen.cs new file mode 100644 index 0000000000..ddd2b7b45c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HGLRC.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HGLRC + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HGLRC(void* value) + { + Value = value; + } + + public static HGLRC INVALID_VALUE => new HGLRC((void*)(-1)); + public static HGLRC NULL => new HGLRC(null); + + public static bool operator ==(HGLRC left, HGLRC right) => left.Value == right.Value; + + public static bool operator !=(HGLRC left, HGLRC right) => left.Value != right.Value; + + public static bool operator <(HGLRC left, HGLRC right) => left.Value < right.Value; + + public static bool operator <=(HGLRC left, HGLRC right) => left.Value <= right.Value; + + public static bool operator >(HGLRC left, HGLRC right) => left.Value > right.Value; + + public static bool operator >=(HGLRC left, HGLRC right) => left.Value >= right.Value; + + public static explicit operator HGLRC(void* value) => new HGLRC(value); + + public static implicit operator void*(HGLRC value) => value.Value; + + public static explicit operator HGLRC(HANDLE value) => new HGLRC(value); + + public static implicit operator HANDLE(HGLRC value) => new HANDLE(value.Value); + + public static explicit operator HGLRC(byte value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator byte(HGLRC value) => (byte)(value.Value); + + public static explicit operator HGLRC(short value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator short(HGLRC value) => (short)(value.Value); + + public static explicit operator HGLRC(int value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator int(HGLRC value) => (int)(value.Value); + + public static explicit operator HGLRC(long value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator long(HGLRC value) => (long)(value.Value); + + public static explicit operator HGLRC(nint value) => new HGLRC(unchecked((void*)(value))); + + public static implicit operator nint(HGLRC value) => (nint)(value.Value); + + public static explicit operator HGLRC(sbyte value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator sbyte(HGLRC value) => (sbyte)(value.Value); + + public static explicit operator HGLRC(ushort value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator ushort(HGLRC value) => (ushort)(value.Value); + + public static explicit operator HGLRC(uint value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator uint(HGLRC value) => (uint)(value.Value); + + public static explicit operator HGLRC(ulong value) => new HGLRC(unchecked((void*)(value))); + + public static explicit operator ulong(HGLRC value) => (ulong)(value.Value); + + public static explicit operator HGLRC(nuint value) => new HGLRC(unchecked((void*)(value))); + + public static implicit operator nuint(HGLRC value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HGLRC other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HGLRC."); + } + + public int CompareTo(HGLRC other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HGLRC other) && Equals(other); + + public bool Equals(HGLRC other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HHANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/HHANDLE.gen.cs new file mode 100644 index 0000000000..c336adff50 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HHANDLE.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HHANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HHANDLE(void* value) + { + Value = value; + } + + public static HHANDLE INVALID_VALUE => new HHANDLE((void*)(-1)); + public static HHANDLE NULL => new HHANDLE(null); + + public static bool operator ==(HHANDLE left, HHANDLE right) => left.Value == right.Value; + + public static bool operator !=(HHANDLE left, HHANDLE right) => left.Value != right.Value; + + public static bool operator <(HHANDLE left, HHANDLE right) => left.Value < right.Value; + + public static bool operator <=(HHANDLE left, HHANDLE right) => left.Value <= right.Value; + + public static bool operator >(HHANDLE left, HHANDLE right) => left.Value > right.Value; + + public static bool operator >=(HHANDLE left, HHANDLE right) => left.Value >= right.Value; + + public static explicit operator HHANDLE(void* value) => new HHANDLE(value); + + public static implicit operator void*(HHANDLE value) => value.Value; + + public static explicit operator HHANDLE(HANDLE value) => new HHANDLE(value); + + public static implicit operator HANDLE(HHANDLE value) => new HANDLE(value.Value); + + public static explicit operator HHANDLE(byte value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator byte(HHANDLE value) => (byte)(value.Value); + + public static explicit operator HHANDLE(short value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator short(HHANDLE value) => (short)(value.Value); + + public static explicit operator HHANDLE(int value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator int(HHANDLE value) => (int)(value.Value); + + public static explicit operator HHANDLE(long value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator long(HHANDLE value) => (long)(value.Value); + + public static explicit operator HHANDLE(nint value) => new HHANDLE(unchecked((void*)(value))); + + public static implicit operator nint(HHANDLE value) => (nint)(value.Value); + + public static explicit operator HHANDLE(sbyte value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(HHANDLE value) => (sbyte)(value.Value); + + public static explicit operator HHANDLE(ushort value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(HHANDLE value) => (ushort)(value.Value); + + public static explicit operator HHANDLE(uint value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator uint(HHANDLE value) => (uint)(value.Value); + + public static explicit operator HHANDLE(ulong value) => new HHANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(HHANDLE value) => (ulong)(value.Value); + + public static explicit operator HHANDLE(nuint value) => new HHANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(HHANDLE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HHANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HHANDLE."); + } + + public int CompareTo(HHANDLE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HHANDLE other) && Equals(other); + + public bool Equals(HHANDLE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HHOOK.gen.cs b/sources/Windows/Windows/other/helper-types/HHOOK.gen.cs new file mode 100644 index 0000000000..cb2ccb77ff --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HHOOK.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HHOOK + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HHOOK(void* value) + { + Value = value; + } + + public static HHOOK INVALID_VALUE => new HHOOK((void*)(-1)); + public static HHOOK NULL => new HHOOK(null); + + public static bool operator ==(HHOOK left, HHOOK right) => left.Value == right.Value; + + public static bool operator !=(HHOOK left, HHOOK right) => left.Value != right.Value; + + public static bool operator <(HHOOK left, HHOOK right) => left.Value < right.Value; + + public static bool operator <=(HHOOK left, HHOOK right) => left.Value <= right.Value; + + public static bool operator >(HHOOK left, HHOOK right) => left.Value > right.Value; + + public static bool operator >=(HHOOK left, HHOOK right) => left.Value >= right.Value; + + public static explicit operator HHOOK(void* value) => new HHOOK(value); + + public static implicit operator void*(HHOOK value) => value.Value; + + public static explicit operator HHOOK(HANDLE value) => new HHOOK(value); + + public static implicit operator HANDLE(HHOOK value) => new HANDLE(value.Value); + + public static explicit operator HHOOK(byte value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator byte(HHOOK value) => (byte)(value.Value); + + public static explicit operator HHOOK(short value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator short(HHOOK value) => (short)(value.Value); + + public static explicit operator HHOOK(int value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator int(HHOOK value) => (int)(value.Value); + + public static explicit operator HHOOK(long value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator long(HHOOK value) => (long)(value.Value); + + public static explicit operator HHOOK(nint value) => new HHOOK(unchecked((void*)(value))); + + public static implicit operator nint(HHOOK value) => (nint)(value.Value); + + public static explicit operator HHOOK(sbyte value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator sbyte(HHOOK value) => (sbyte)(value.Value); + + public static explicit operator HHOOK(ushort value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator ushort(HHOOK value) => (ushort)(value.Value); + + public static explicit operator HHOOK(uint value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator uint(HHOOK value) => (uint)(value.Value); + + public static explicit operator HHOOK(ulong value) => new HHOOK(unchecked((void*)(value))); + + public static explicit operator ulong(HHOOK value) => (ulong)(value.Value); + + public static explicit operator HHOOK(nuint value) => new HHOOK(unchecked((void*)(value))); + + public static implicit operator nuint(HHOOK value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HHOOK other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HHOOK."); + } + + public int CompareTo(HHOOK other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HHOOK other) && Equals(other); + + public bool Equals(HHOOK other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HICON.gen.cs b/sources/Windows/Windows/other/helper-types/HICON.gen.cs new file mode 100644 index 0000000000..0245fba24f --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HICON.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HICON + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HICON(void* value) + { + Value = value; + } + + public static HICON INVALID_VALUE => new HICON((void*)(-1)); + public static HICON NULL => new HICON(null); + + public static bool operator ==(HICON left, HICON right) => left.Value == right.Value; + + public static bool operator !=(HICON left, HICON right) => left.Value != right.Value; + + public static bool operator <(HICON left, HICON right) => left.Value < right.Value; + + public static bool operator <=(HICON left, HICON right) => left.Value <= right.Value; + + public static bool operator >(HICON left, HICON right) => left.Value > right.Value; + + public static bool operator >=(HICON left, HICON right) => left.Value >= right.Value; + + public static explicit operator HICON(void* value) => new HICON(value); + + public static implicit operator void*(HICON value) => value.Value; + + public static explicit operator HICON(HANDLE value) => new HICON(value); + + public static implicit operator HANDLE(HICON value) => new HANDLE(value.Value); + + public static explicit operator HICON(byte value) => new HICON(unchecked((void*)(value))); + + public static explicit operator byte(HICON value) => (byte)(value.Value); + + public static explicit operator HICON(short value) => new HICON(unchecked((void*)(value))); + + public static explicit operator short(HICON value) => (short)(value.Value); + + public static explicit operator HICON(int value) => new HICON(unchecked((void*)(value))); + + public static explicit operator int(HICON value) => (int)(value.Value); + + public static explicit operator HICON(long value) => new HICON(unchecked((void*)(value))); + + public static explicit operator long(HICON value) => (long)(value.Value); + + public static explicit operator HICON(nint value) => new HICON(unchecked((void*)(value))); + + public static implicit operator nint(HICON value) => (nint)(value.Value); + + public static explicit operator HICON(sbyte value) => new HICON(unchecked((void*)(value))); + + public static explicit operator sbyte(HICON value) => (sbyte)(value.Value); + + public static explicit operator HICON(ushort value) => new HICON(unchecked((void*)(value))); + + public static explicit operator ushort(HICON value) => (ushort)(value.Value); + + public static explicit operator HICON(uint value) => new HICON(unchecked((void*)(value))); + + public static explicit operator uint(HICON value) => (uint)(value.Value); + + public static explicit operator HICON(ulong value) => new HICON(unchecked((void*)(value))); + + public static explicit operator ulong(HICON value) => (ulong)(value.Value); + + public static explicit operator HICON(nuint value) => new HICON(unchecked((void*)(value))); + + public static implicit operator nuint(HICON value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HICON other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HICON."); + } + + public int CompareTo(HICON other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HICON other) && Equals(other); + + public bool Equals(HICON other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HIFTIMESTAMPCHANGE.gen.cs b/sources/Windows/Windows/other/helper-types/HIFTIMESTAMPCHANGE.gen.cs new file mode 100644 index 0000000000..4d78146343 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HIFTIMESTAMPCHANGE.gen.cs @@ -0,0 +1,125 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HIFTIMESTAMPCHANGE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HIFTIMESTAMPCHANGE(void* value) + { + Value = value; + } + + public static HIFTIMESTAMPCHANGE INVALID_VALUE => new HIFTIMESTAMPCHANGE((void*)(-1)); + public static HIFTIMESTAMPCHANGE NULL => new HIFTIMESTAMPCHANGE(null); + + public static bool operator ==(HIFTIMESTAMPCHANGE left, HIFTIMESTAMPCHANGE right) => + left.Value == right.Value; + + public static bool operator !=(HIFTIMESTAMPCHANGE left, HIFTIMESTAMPCHANGE right) => + left.Value != right.Value; + + public static bool operator <(HIFTIMESTAMPCHANGE left, HIFTIMESTAMPCHANGE right) => + left.Value < right.Value; + + public static bool operator <=(HIFTIMESTAMPCHANGE left, HIFTIMESTAMPCHANGE right) => + left.Value <= right.Value; + + public static bool operator >(HIFTIMESTAMPCHANGE left, HIFTIMESTAMPCHANGE right) => + left.Value > right.Value; + + public static bool operator >=(HIFTIMESTAMPCHANGE left, HIFTIMESTAMPCHANGE right) => + left.Value >= right.Value; + + public static explicit operator HIFTIMESTAMPCHANGE(void* value) => + new HIFTIMESTAMPCHANGE(value); + + public static implicit operator void*(HIFTIMESTAMPCHANGE value) => value.Value; + + public static explicit operator HIFTIMESTAMPCHANGE(HANDLE value) => + new HIFTIMESTAMPCHANGE(value); + + public static implicit operator HANDLE(HIFTIMESTAMPCHANGE value) => new HANDLE(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(byte value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator byte(HIFTIMESTAMPCHANGE value) => (byte)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(short value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator short(HIFTIMESTAMPCHANGE value) => (short)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(int value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator int(HIFTIMESTAMPCHANGE value) => (int)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(long value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator long(HIFTIMESTAMPCHANGE value) => (long)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(nint value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static implicit operator nint(HIFTIMESTAMPCHANGE value) => (nint)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(sbyte value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator sbyte(HIFTIMESTAMPCHANGE value) => (sbyte)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(ushort value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator ushort(HIFTIMESTAMPCHANGE value) => (ushort)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(uint value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator uint(HIFTIMESTAMPCHANGE value) => (uint)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(ulong value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static explicit operator ulong(HIFTIMESTAMPCHANGE value) => (ulong)(value.Value); + + public static explicit operator HIFTIMESTAMPCHANGE(nuint value) => + new HIFTIMESTAMPCHANGE(unchecked((void*)(value))); + + public static implicit operator nuint(HIFTIMESTAMPCHANGE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HIFTIMESTAMPCHANGE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HIFTIMESTAMPCHANGE."); + } + + public int CompareTo(HIFTIMESTAMPCHANGE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HIFTIMESTAMPCHANGE other) && Equals(other); + + public bool Equals(HIFTIMESTAMPCHANGE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HIMAGELIST.gen.cs b/sources/Windows/Windows/other/helper-types/HIMAGELIST.gen.cs new file mode 100644 index 0000000000..8a843e61f3 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HIMAGELIST.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HIMAGELIST + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HIMAGELIST(void* value) + { + Value = value; + } + + public static HIMAGELIST INVALID_VALUE => new HIMAGELIST((void*)(-1)); + public static HIMAGELIST NULL => new HIMAGELIST(null); + + public static bool operator ==(HIMAGELIST left, HIMAGELIST right) => left.Value == right.Value; + + public static bool operator !=(HIMAGELIST left, HIMAGELIST right) => left.Value != right.Value; + + public static bool operator <(HIMAGELIST left, HIMAGELIST right) => left.Value < right.Value; + + public static bool operator <=(HIMAGELIST left, HIMAGELIST right) => left.Value <= right.Value; + + public static bool operator >(HIMAGELIST left, HIMAGELIST right) => left.Value > right.Value; + + public static bool operator >=(HIMAGELIST left, HIMAGELIST right) => left.Value >= right.Value; + + public static explicit operator HIMAGELIST(void* value) => new HIMAGELIST(value); + + public static implicit operator void*(HIMAGELIST value) => value.Value; + + public static explicit operator HIMAGELIST(HANDLE value) => new HIMAGELIST(value); + + public static implicit operator HANDLE(HIMAGELIST value) => new HANDLE(value.Value); + + public static explicit operator HIMAGELIST(byte value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator byte(HIMAGELIST value) => (byte)(value.Value); + + public static explicit operator HIMAGELIST(short value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator short(HIMAGELIST value) => (short)(value.Value); + + public static explicit operator HIMAGELIST(int value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator int(HIMAGELIST value) => (int)(value.Value); + + public static explicit operator HIMAGELIST(long value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator long(HIMAGELIST value) => (long)(value.Value); + + public static explicit operator HIMAGELIST(nint value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static implicit operator nint(HIMAGELIST value) => (nint)(value.Value); + + public static explicit operator HIMAGELIST(sbyte value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator sbyte(HIMAGELIST value) => (sbyte)(value.Value); + + public static explicit operator HIMAGELIST(ushort value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator ushort(HIMAGELIST value) => (ushort)(value.Value); + + public static explicit operator HIMAGELIST(uint value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator uint(HIMAGELIST value) => (uint)(value.Value); + + public static explicit operator HIMAGELIST(ulong value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static explicit operator ulong(HIMAGELIST value) => (ulong)(value.Value); + + public static explicit operator HIMAGELIST(nuint value) => + new HIMAGELIST(unchecked((void*)(value))); + + public static implicit operator nuint(HIMAGELIST value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HIMAGELIST other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HIMAGELIST."); + } + + public int CompareTo(HIMAGELIST other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HIMAGELIST other) && Equals(other); + + public bool Equals(HIMAGELIST other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HIMC.gen.cs b/sources/Windows/Windows/other/helper-types/HIMC.gen.cs new file mode 100644 index 0000000000..d1fc180548 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HIMC.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HIMC + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HIMC(void* value) + { + Value = value; + } + + public static HIMC INVALID_VALUE => new HIMC((void*)(-1)); + public static HIMC NULL => new HIMC(null); + + public static bool operator ==(HIMC left, HIMC right) => left.Value == right.Value; + + public static bool operator !=(HIMC left, HIMC right) => left.Value != right.Value; + + public static bool operator <(HIMC left, HIMC right) => left.Value < right.Value; + + public static bool operator <=(HIMC left, HIMC right) => left.Value <= right.Value; + + public static bool operator >(HIMC left, HIMC right) => left.Value > right.Value; + + public static bool operator >=(HIMC left, HIMC right) => left.Value >= right.Value; + + public static explicit operator HIMC(void* value) => new HIMC(value); + + public static implicit operator void*(HIMC value) => value.Value; + + public static explicit operator HIMC(HANDLE value) => new HIMC(value); + + public static implicit operator HANDLE(HIMC value) => new HANDLE(value.Value); + + public static explicit operator HIMC(byte value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator byte(HIMC value) => (byte)(value.Value); + + public static explicit operator HIMC(short value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator short(HIMC value) => (short)(value.Value); + + public static explicit operator HIMC(int value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator int(HIMC value) => (int)(value.Value); + + public static explicit operator HIMC(long value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator long(HIMC value) => (long)(value.Value); + + public static explicit operator HIMC(nint value) => new HIMC(unchecked((void*)(value))); + + public static implicit operator nint(HIMC value) => (nint)(value.Value); + + public static explicit operator HIMC(sbyte value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator sbyte(HIMC value) => (sbyte)(value.Value); + + public static explicit operator HIMC(ushort value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator ushort(HIMC value) => (ushort)(value.Value); + + public static explicit operator HIMC(uint value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator uint(HIMC value) => (uint)(value.Value); + + public static explicit operator HIMC(ulong value) => new HIMC(unchecked((void*)(value))); + + public static explicit operator ulong(HIMC value) => (ulong)(value.Value); + + public static explicit operator HIMC(nuint value) => new HIMC(unchecked((void*)(value))); + + public static implicit operator nuint(HIMC value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HIMC other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HIMC."); + } + + public int CompareTo(HIMC other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HIMC other) && Equals(other); + + public bool Equals(HIMC other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HIMCC.gen.cs b/sources/Windows/Windows/other/helper-types/HIMCC.gen.cs new file mode 100644 index 0000000000..959c4b988f --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HIMCC.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HIMCC + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HIMCC(void* value) + { + Value = value; + } + + public static HIMCC INVALID_VALUE => new HIMCC((void*)(-1)); + public static HIMCC NULL => new HIMCC(null); + + public static bool operator ==(HIMCC left, HIMCC right) => left.Value == right.Value; + + public static bool operator !=(HIMCC left, HIMCC right) => left.Value != right.Value; + + public static bool operator <(HIMCC left, HIMCC right) => left.Value < right.Value; + + public static bool operator <=(HIMCC left, HIMCC right) => left.Value <= right.Value; + + public static bool operator >(HIMCC left, HIMCC right) => left.Value > right.Value; + + public static bool operator >=(HIMCC left, HIMCC right) => left.Value >= right.Value; + + public static explicit operator HIMCC(void* value) => new HIMCC(value); + + public static implicit operator void*(HIMCC value) => value.Value; + + public static explicit operator HIMCC(HANDLE value) => new HIMCC(value); + + public static implicit operator HANDLE(HIMCC value) => new HANDLE(value.Value); + + public static explicit operator HIMCC(byte value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator byte(HIMCC value) => (byte)(value.Value); + + public static explicit operator HIMCC(short value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator short(HIMCC value) => (short)(value.Value); + + public static explicit operator HIMCC(int value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator int(HIMCC value) => (int)(value.Value); + + public static explicit operator HIMCC(long value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator long(HIMCC value) => (long)(value.Value); + + public static explicit operator HIMCC(nint value) => new HIMCC(unchecked((void*)(value))); + + public static implicit operator nint(HIMCC value) => (nint)(value.Value); + + public static explicit operator HIMCC(sbyte value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator sbyte(HIMCC value) => (sbyte)(value.Value); + + public static explicit operator HIMCC(ushort value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator ushort(HIMCC value) => (ushort)(value.Value); + + public static explicit operator HIMCC(uint value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator uint(HIMCC value) => (uint)(value.Value); + + public static explicit operator HIMCC(ulong value) => new HIMCC(unchecked((void*)(value))); + + public static explicit operator ulong(HIMCC value) => (ulong)(value.Value); + + public static explicit operator HIMCC(nuint value) => new HIMCC(unchecked((void*)(value))); + + public static implicit operator nuint(HIMCC value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HIMCC other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HIMCC."); + } + + public int CompareTo(HIMCC other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HIMCC other) && Equals(other); + + public bool Equals(HIMCC other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HINF.gen.cs b/sources/Windows/Windows/other/helper-types/HINF.gen.cs new file mode 100644 index 0000000000..6a82c7380f --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HINF.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HINF + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HINF(void* value) + { + Value = value; + } + + public static HINF INVALID_VALUE => new HINF((void*)(-1)); + public static HINF NULL => new HINF(null); + + public static bool operator ==(HINF left, HINF right) => left.Value == right.Value; + + public static bool operator !=(HINF left, HINF right) => left.Value != right.Value; + + public static bool operator <(HINF left, HINF right) => left.Value < right.Value; + + public static bool operator <=(HINF left, HINF right) => left.Value <= right.Value; + + public static bool operator >(HINF left, HINF right) => left.Value > right.Value; + + public static bool operator >=(HINF left, HINF right) => left.Value >= right.Value; + + public static explicit operator HINF(void* value) => new HINF(value); + + public static implicit operator void*(HINF value) => value.Value; + + public static explicit operator HINF(HANDLE value) => new HINF(value); + + public static implicit operator HANDLE(HINF value) => new HANDLE(value.Value); + + public static explicit operator HINF(byte value) => new HINF(unchecked((void*)(value))); + + public static explicit operator byte(HINF value) => (byte)(value.Value); + + public static explicit operator HINF(short value) => new HINF(unchecked((void*)(value))); + + public static explicit operator short(HINF value) => (short)(value.Value); + + public static explicit operator HINF(int value) => new HINF(unchecked((void*)(value))); + + public static explicit operator int(HINF value) => (int)(value.Value); + + public static explicit operator HINF(long value) => new HINF(unchecked((void*)(value))); + + public static explicit operator long(HINF value) => (long)(value.Value); + + public static explicit operator HINF(nint value) => new HINF(unchecked((void*)(value))); + + public static implicit operator nint(HINF value) => (nint)(value.Value); + + public static explicit operator HINF(sbyte value) => new HINF(unchecked((void*)(value))); + + public static explicit operator sbyte(HINF value) => (sbyte)(value.Value); + + public static explicit operator HINF(ushort value) => new HINF(unchecked((void*)(value))); + + public static explicit operator ushort(HINF value) => (ushort)(value.Value); + + public static explicit operator HINF(uint value) => new HINF(unchecked((void*)(value))); + + public static explicit operator uint(HINF value) => (uint)(value.Value); + + public static explicit operator HINF(ulong value) => new HINF(unchecked((void*)(value))); + + public static explicit operator ulong(HINF value) => (ulong)(value.Value); + + public static explicit operator HINF(nuint value) => new HINF(unchecked((void*)(value))); + + public static implicit operator nuint(HINF value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HINF other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HINF."); + } + + public int CompareTo(HINF other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HINF other) && Equals(other); + + public bool Equals(HINF other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HINSTANCE.gen.cs b/sources/Windows/Windows/other/helper-types/HINSTANCE.gen.cs new file mode 100644 index 0000000000..9432a546b0 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HINSTANCE.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HINSTANCE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HINSTANCE(void* value) + { + Value = value; + } + + public static HINSTANCE INVALID_VALUE => new HINSTANCE((void*)(-1)); + public static HINSTANCE NULL => new HINSTANCE(null); + + public static bool operator ==(HINSTANCE left, HINSTANCE right) => left.Value == right.Value; + + public static bool operator !=(HINSTANCE left, HINSTANCE right) => left.Value != right.Value; + + public static bool operator <(HINSTANCE left, HINSTANCE right) => left.Value < right.Value; + + public static bool operator <=(HINSTANCE left, HINSTANCE right) => left.Value <= right.Value; + + public static bool operator >(HINSTANCE left, HINSTANCE right) => left.Value > right.Value; + + public static bool operator >=(HINSTANCE left, HINSTANCE right) => left.Value >= right.Value; + + public static explicit operator HINSTANCE(void* value) => new HINSTANCE(value); + + public static implicit operator void*(HINSTANCE value) => value.Value; + + public static explicit operator HINSTANCE(HANDLE value) => new HINSTANCE(value); + + public static implicit operator HANDLE(HINSTANCE value) => new HANDLE(value.Value); + + public static explicit operator HINSTANCE(byte value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator byte(HINSTANCE value) => (byte)(value.Value); + + public static explicit operator HINSTANCE(short value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator short(HINSTANCE value) => (short)(value.Value); + + public static explicit operator HINSTANCE(int value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator int(HINSTANCE value) => (int)(value.Value); + + public static explicit operator HINSTANCE(long value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator long(HINSTANCE value) => (long)(value.Value); + + public static explicit operator HINSTANCE(nint value) => + new HINSTANCE(unchecked((void*)(value))); + + public static implicit operator nint(HINSTANCE value) => (nint)(value.Value); + + public static explicit operator HINSTANCE(sbyte value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator sbyte(HINSTANCE value) => (sbyte)(value.Value); + + public static explicit operator HINSTANCE(ushort value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator ushort(HINSTANCE value) => (ushort)(value.Value); + + public static explicit operator HINSTANCE(uint value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator uint(HINSTANCE value) => (uint)(value.Value); + + public static explicit operator HINSTANCE(ulong value) => + new HINSTANCE(unchecked((void*)(value))); + + public static explicit operator ulong(HINSTANCE value) => (ulong)(value.Value); + + public static explicit operator HINSTANCE(nuint value) => + new HINSTANCE(unchecked((void*)(value))); + + public static implicit operator nuint(HINSTANCE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HINSTANCE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HINSTANCE."); + } + + public int CompareTo(HINSTANCE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HINSTANCE other) && Equals(other); + + public bool Equals(HINSTANCE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HINTERACTIONCONTEXT.gen.cs b/sources/Windows/Windows/other/helper-types/HINTERACTIONCONTEXT.gen.cs new file mode 100644 index 0000000000..177a974f4c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HINTERACTIONCONTEXT.gen.cs @@ -0,0 +1,125 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HINTERACTIONCONTEXT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HINTERACTIONCONTEXT(void* value) + { + Value = value; + } + + public static HINTERACTIONCONTEXT INVALID_VALUE => new HINTERACTIONCONTEXT((void*)(-1)); + public static HINTERACTIONCONTEXT NULL => new HINTERACTIONCONTEXT(null); + + public static bool operator ==(HINTERACTIONCONTEXT left, HINTERACTIONCONTEXT right) => + left.Value == right.Value; + + public static bool operator !=(HINTERACTIONCONTEXT left, HINTERACTIONCONTEXT right) => + left.Value != right.Value; + + public static bool operator <(HINTERACTIONCONTEXT left, HINTERACTIONCONTEXT right) => + left.Value < right.Value; + + public static bool operator <=(HINTERACTIONCONTEXT left, HINTERACTIONCONTEXT right) => + left.Value <= right.Value; + + public static bool operator >(HINTERACTIONCONTEXT left, HINTERACTIONCONTEXT right) => + left.Value > right.Value; + + public static bool operator >=(HINTERACTIONCONTEXT left, HINTERACTIONCONTEXT right) => + left.Value >= right.Value; + + public static explicit operator HINTERACTIONCONTEXT(void* value) => + new HINTERACTIONCONTEXT(value); + + public static implicit operator void*(HINTERACTIONCONTEXT value) => value.Value; + + public static explicit operator HINTERACTIONCONTEXT(HANDLE value) => + new HINTERACTIONCONTEXT(value); + + public static implicit operator HANDLE(HINTERACTIONCONTEXT value) => new HANDLE(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(byte value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator byte(HINTERACTIONCONTEXT value) => (byte)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(short value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator short(HINTERACTIONCONTEXT value) => (short)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(int value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator int(HINTERACTIONCONTEXT value) => (int)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(long value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator long(HINTERACTIONCONTEXT value) => (long)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(nint value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static implicit operator nint(HINTERACTIONCONTEXT value) => (nint)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(sbyte value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator sbyte(HINTERACTIONCONTEXT value) => (sbyte)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(ushort value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator ushort(HINTERACTIONCONTEXT value) => (ushort)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(uint value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator uint(HINTERACTIONCONTEXT value) => (uint)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(ulong value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static explicit operator ulong(HINTERACTIONCONTEXT value) => (ulong)(value.Value); + + public static explicit operator HINTERACTIONCONTEXT(nuint value) => + new HINTERACTIONCONTEXT(unchecked((void*)(value))); + + public static implicit operator nuint(HINTERACTIONCONTEXT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HINTERACTIONCONTEXT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HINTERACTIONCONTEXT."); + } + + public int CompareTo(HINTERACTIONCONTEXT other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HINTERACTIONCONTEXT other) && Equals(other); + + public bool Equals(HINTERACTIONCONTEXT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HINTERNET.gen.cs b/sources/Windows/Windows/other/helper-types/HINTERNET.gen.cs new file mode 100644 index 0000000000..1292241c44 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HINTERNET.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HINTERNET + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HINTERNET(void* value) + { + Value = value; + } + + public static HINTERNET INVALID_VALUE => new HINTERNET((void*)(-1)); + public static HINTERNET NULL => new HINTERNET(null); + + public static bool operator ==(HINTERNET left, HINTERNET right) => left.Value == right.Value; + + public static bool operator !=(HINTERNET left, HINTERNET right) => left.Value != right.Value; + + public static bool operator <(HINTERNET left, HINTERNET right) => left.Value < right.Value; + + public static bool operator <=(HINTERNET left, HINTERNET right) => left.Value <= right.Value; + + public static bool operator >(HINTERNET left, HINTERNET right) => left.Value > right.Value; + + public static bool operator >=(HINTERNET left, HINTERNET right) => left.Value >= right.Value; + + public static explicit operator HINTERNET(void* value) => new HINTERNET(value); + + public static implicit operator void*(HINTERNET value) => value.Value; + + public static explicit operator HINTERNET(HANDLE value) => new HINTERNET(value); + + public static implicit operator HANDLE(HINTERNET value) => new HANDLE(value.Value); + + public static explicit operator HINTERNET(byte value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator byte(HINTERNET value) => (byte)(value.Value); + + public static explicit operator HINTERNET(short value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator short(HINTERNET value) => (short)(value.Value); + + public static explicit operator HINTERNET(int value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator int(HINTERNET value) => (int)(value.Value); + + public static explicit operator HINTERNET(long value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator long(HINTERNET value) => (long)(value.Value); + + public static explicit operator HINTERNET(nint value) => + new HINTERNET(unchecked((void*)(value))); + + public static implicit operator nint(HINTERNET value) => (nint)(value.Value); + + public static explicit operator HINTERNET(sbyte value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator sbyte(HINTERNET value) => (sbyte)(value.Value); + + public static explicit operator HINTERNET(ushort value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator ushort(HINTERNET value) => (ushort)(value.Value); + + public static explicit operator HINTERNET(uint value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator uint(HINTERNET value) => (uint)(value.Value); + + public static explicit operator HINTERNET(ulong value) => + new HINTERNET(unchecked((void*)(value))); + + public static explicit operator ulong(HINTERNET value) => (ulong)(value.Value); + + public static explicit operator HINTERNET(nuint value) => + new HINTERNET(unchecked((void*)(value))); + + public static implicit operator nuint(HINTERNET value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HINTERNET other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HINTERNET."); + } + + public int CompareTo(HINTERNET other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HINTERNET other) && Equals(other); + + public bool Equals(HINTERNET other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HKEY.gen.cs b/sources/Windows/Windows/other/helper-types/HKEY.gen.cs new file mode 100644 index 0000000000..b44002e874 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HKEY.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HKEY + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HKEY(void* value) + { + Value = value; + } + + public static HKEY INVALID_VALUE => new HKEY((void*)(-1)); + public static HKEY NULL => new HKEY(null); + + public static bool operator ==(HKEY left, HKEY right) => left.Value == right.Value; + + public static bool operator !=(HKEY left, HKEY right) => left.Value != right.Value; + + public static bool operator <(HKEY left, HKEY right) => left.Value < right.Value; + + public static bool operator <=(HKEY left, HKEY right) => left.Value <= right.Value; + + public static bool operator >(HKEY left, HKEY right) => left.Value > right.Value; + + public static bool operator >=(HKEY left, HKEY right) => left.Value >= right.Value; + + public static explicit operator HKEY(void* value) => new HKEY(value); + + public static implicit operator void*(HKEY value) => value.Value; + + public static explicit operator HKEY(HANDLE value) => new HKEY(value); + + public static implicit operator HANDLE(HKEY value) => new HANDLE(value.Value); + + public static explicit operator HKEY(byte value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator byte(HKEY value) => (byte)(value.Value); + + public static explicit operator HKEY(short value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator short(HKEY value) => (short)(value.Value); + + public static explicit operator HKEY(int value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator int(HKEY value) => (int)(value.Value); + + public static explicit operator HKEY(long value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator long(HKEY value) => (long)(value.Value); + + public static explicit operator HKEY(nint value) => new HKEY(unchecked((void*)(value))); + + public static implicit operator nint(HKEY value) => (nint)(value.Value); + + public static explicit operator HKEY(sbyte value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator sbyte(HKEY value) => (sbyte)(value.Value); + + public static explicit operator HKEY(ushort value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator ushort(HKEY value) => (ushort)(value.Value); + + public static explicit operator HKEY(uint value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator uint(HKEY value) => (uint)(value.Value); + + public static explicit operator HKEY(ulong value) => new HKEY(unchecked((void*)(value))); + + public static explicit operator ulong(HKEY value) => (ulong)(value.Value); + + public static explicit operator HKEY(nuint value) => new HKEY(unchecked((void*)(value))); + + public static implicit operator nuint(HKEY value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HKEY other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HKEY."); + } + + public int CompareTo(HKEY other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HKEY other) && Equals(other); + + public bool Equals(HKEY other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HKL.gen.cs b/sources/Windows/Windows/other/helper-types/HKL.gen.cs new file mode 100644 index 0000000000..042bbd4d1b --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HKL.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HKL + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HKL(void* value) + { + Value = value; + } + + public static HKL INVALID_VALUE => new HKL((void*)(-1)); + public static HKL NULL => new HKL(null); + + public static bool operator ==(HKL left, HKL right) => left.Value == right.Value; + + public static bool operator !=(HKL left, HKL right) => left.Value != right.Value; + + public static bool operator <(HKL left, HKL right) => left.Value < right.Value; + + public static bool operator <=(HKL left, HKL right) => left.Value <= right.Value; + + public static bool operator >(HKL left, HKL right) => left.Value > right.Value; + + public static bool operator >=(HKL left, HKL right) => left.Value >= right.Value; + + public static explicit operator HKL(void* value) => new HKL(value); + + public static implicit operator void*(HKL value) => value.Value; + + public static explicit operator HKL(HANDLE value) => new HKL(value); + + public static implicit operator HANDLE(HKL value) => new HANDLE(value.Value); + + public static explicit operator HKL(byte value) => new HKL(unchecked((void*)(value))); + + public static explicit operator byte(HKL value) => (byte)(value.Value); + + public static explicit operator HKL(short value) => new HKL(unchecked((void*)(value))); + + public static explicit operator short(HKL value) => (short)(value.Value); + + public static explicit operator HKL(int value) => new HKL(unchecked((void*)(value))); + + public static explicit operator int(HKL value) => (int)(value.Value); + + public static explicit operator HKL(long value) => new HKL(unchecked((void*)(value))); + + public static explicit operator long(HKL value) => (long)(value.Value); + + public static explicit operator HKL(nint value) => new HKL(unchecked((void*)(value))); + + public static implicit operator nint(HKL value) => (nint)(value.Value); + + public static explicit operator HKL(sbyte value) => new HKL(unchecked((void*)(value))); + + public static explicit operator sbyte(HKL value) => (sbyte)(value.Value); + + public static explicit operator HKL(ushort value) => new HKL(unchecked((void*)(value))); + + public static explicit operator ushort(HKL value) => (ushort)(value.Value); + + public static explicit operator HKL(uint value) => new HKL(unchecked((void*)(value))); + + public static explicit operator uint(HKL value) => (uint)(value.Value); + + public static explicit operator HKL(ulong value) => new HKL(unchecked((void*)(value))); + + public static explicit operator ulong(HKL value) => (ulong)(value.Value); + + public static explicit operator HKL(nuint value) => new HKL(unchecked((void*)(value))); + + public static implicit operator nuint(HKL value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HKL other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HKL."); + } + + public int CompareTo(HKL other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HKL other) && Equals(other); + + public bool Equals(HKL other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HLOCAL.gen.cs b/sources/Windows/Windows/other/helper-types/HLOCAL.gen.cs new file mode 100644 index 0000000000..9d21d36cca --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HLOCAL.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HLOCAL + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HLOCAL(void* value) + { + Value = value; + } + + public static HLOCAL INVALID_VALUE => new HLOCAL((void*)(-1)); + public static HLOCAL NULL => new HLOCAL(null); + + public static bool operator ==(HLOCAL left, HLOCAL right) => left.Value == right.Value; + + public static bool operator !=(HLOCAL left, HLOCAL right) => left.Value != right.Value; + + public static bool operator <(HLOCAL left, HLOCAL right) => left.Value < right.Value; + + public static bool operator <=(HLOCAL left, HLOCAL right) => left.Value <= right.Value; + + public static bool operator >(HLOCAL left, HLOCAL right) => left.Value > right.Value; + + public static bool operator >=(HLOCAL left, HLOCAL right) => left.Value >= right.Value; + + public static explicit operator HLOCAL(void* value) => new HLOCAL(value); + + public static implicit operator void*(HLOCAL value) => value.Value; + + public static explicit operator HLOCAL(HANDLE value) => new HLOCAL(value); + + public static implicit operator HANDLE(HLOCAL value) => new HANDLE(value.Value); + + public static explicit operator HLOCAL(byte value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator byte(HLOCAL value) => (byte)(value.Value); + + public static explicit operator HLOCAL(short value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator short(HLOCAL value) => (short)(value.Value); + + public static explicit operator HLOCAL(int value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator int(HLOCAL value) => (int)(value.Value); + + public static explicit operator HLOCAL(long value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator long(HLOCAL value) => (long)(value.Value); + + public static explicit operator HLOCAL(nint value) => new HLOCAL(unchecked((void*)(value))); + + public static implicit operator nint(HLOCAL value) => (nint)(value.Value); + + public static explicit operator HLOCAL(sbyte value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator sbyte(HLOCAL value) => (sbyte)(value.Value); + + public static explicit operator HLOCAL(ushort value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator ushort(HLOCAL value) => (ushort)(value.Value); + + public static explicit operator HLOCAL(uint value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator uint(HLOCAL value) => (uint)(value.Value); + + public static explicit operator HLOCAL(ulong value) => new HLOCAL(unchecked((void*)(value))); + + public static explicit operator ulong(HLOCAL value) => (ulong)(value.Value); + + public static explicit operator HLOCAL(nuint value) => new HLOCAL(unchecked((void*)(value))); + + public static implicit operator nuint(HLOCAL value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HLOCAL other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HLOCAL."); + } + + public int CompareTo(HLOCAL other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HLOCAL other) && Equals(other); + + public bool Equals(HLOCAL other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMENU.gen.cs b/sources/Windows/Windows/other/helper-types/HMENU.gen.cs new file mode 100644 index 0000000000..b805969b93 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMENU.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMENU + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMENU(void* value) + { + Value = value; + } + + public static HMENU INVALID_VALUE => new HMENU((void*)(-1)); + public static HMENU NULL => new HMENU(null); + + public static bool operator ==(HMENU left, HMENU right) => left.Value == right.Value; + + public static bool operator !=(HMENU left, HMENU right) => left.Value != right.Value; + + public static bool operator <(HMENU left, HMENU right) => left.Value < right.Value; + + public static bool operator <=(HMENU left, HMENU right) => left.Value <= right.Value; + + public static bool operator >(HMENU left, HMENU right) => left.Value > right.Value; + + public static bool operator >=(HMENU left, HMENU right) => left.Value >= right.Value; + + public static explicit operator HMENU(void* value) => new HMENU(value); + + public static implicit operator void*(HMENU value) => value.Value; + + public static explicit operator HMENU(HANDLE value) => new HMENU(value); + + public static implicit operator HANDLE(HMENU value) => new HANDLE(value.Value); + + public static explicit operator HMENU(byte value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator byte(HMENU value) => (byte)(value.Value); + + public static explicit operator HMENU(short value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator short(HMENU value) => (short)(value.Value); + + public static explicit operator HMENU(int value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator int(HMENU value) => (int)(value.Value); + + public static explicit operator HMENU(long value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator long(HMENU value) => (long)(value.Value); + + public static explicit operator HMENU(nint value) => new HMENU(unchecked((void*)(value))); + + public static implicit operator nint(HMENU value) => (nint)(value.Value); + + public static explicit operator HMENU(sbyte value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator sbyte(HMENU value) => (sbyte)(value.Value); + + public static explicit operator HMENU(ushort value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator ushort(HMENU value) => (ushort)(value.Value); + + public static explicit operator HMENU(uint value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator uint(HMENU value) => (uint)(value.Value); + + public static explicit operator HMENU(ulong value) => new HMENU(unchecked((void*)(value))); + + public static explicit operator ulong(HMENU value) => (ulong)(value.Value); + + public static explicit operator HMENU(nuint value) => new HMENU(unchecked((void*)(value))); + + public static implicit operator nuint(HMENU value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMENU other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HMENU."); + } + + public int CompareTo(HMENU other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMENU other) && Equals(other); + + public bool Equals(HMENU other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMETAFILE.gen.cs b/sources/Windows/Windows/other/helper-types/HMETAFILE.gen.cs new file mode 100644 index 0000000000..5109f11396 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMETAFILE.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMETAFILE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMETAFILE(void* value) + { + Value = value; + } + + public static HMETAFILE INVALID_VALUE => new HMETAFILE((void*)(-1)); + public static HMETAFILE NULL => new HMETAFILE(null); + + public static bool operator ==(HMETAFILE left, HMETAFILE right) => left.Value == right.Value; + + public static bool operator !=(HMETAFILE left, HMETAFILE right) => left.Value != right.Value; + + public static bool operator <(HMETAFILE left, HMETAFILE right) => left.Value < right.Value; + + public static bool operator <=(HMETAFILE left, HMETAFILE right) => left.Value <= right.Value; + + public static bool operator >(HMETAFILE left, HMETAFILE right) => left.Value > right.Value; + + public static bool operator >=(HMETAFILE left, HMETAFILE right) => left.Value >= right.Value; + + public static explicit operator HMETAFILE(void* value) => new HMETAFILE(value); + + public static implicit operator void*(HMETAFILE value) => value.Value; + + public static explicit operator HMETAFILE(HANDLE value) => new HMETAFILE(value); + + public static implicit operator HANDLE(HMETAFILE value) => new HANDLE(value.Value); + + public static explicit operator HMETAFILE(byte value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator byte(HMETAFILE value) => (byte)(value.Value); + + public static explicit operator HMETAFILE(short value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator short(HMETAFILE value) => (short)(value.Value); + + public static explicit operator HMETAFILE(int value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator int(HMETAFILE value) => (int)(value.Value); + + public static explicit operator HMETAFILE(long value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator long(HMETAFILE value) => (long)(value.Value); + + public static explicit operator HMETAFILE(nint value) => + new HMETAFILE(unchecked((void*)(value))); + + public static implicit operator nint(HMETAFILE value) => (nint)(value.Value); + + public static explicit operator HMETAFILE(sbyte value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator sbyte(HMETAFILE value) => (sbyte)(value.Value); + + public static explicit operator HMETAFILE(ushort value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator ushort(HMETAFILE value) => (ushort)(value.Value); + + public static explicit operator HMETAFILE(uint value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator uint(HMETAFILE value) => (uint)(value.Value); + + public static explicit operator HMETAFILE(ulong value) => + new HMETAFILE(unchecked((void*)(value))); + + public static explicit operator ulong(HMETAFILE value) => (ulong)(value.Value); + + public static explicit operator HMETAFILE(nuint value) => + new HMETAFILE(unchecked((void*)(value))); + + public static implicit operator nuint(HMETAFILE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMETAFILE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMETAFILE."); + } + + public int CompareTo(HMETAFILE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMETAFILE other) && Equals(other); + + public bool Equals(HMETAFILE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMETAFILEPICT.gen.cs b/sources/Windows/Windows/other/helper-types/HMETAFILEPICT.gen.cs new file mode 100644 index 0000000000..3cefe2a19a --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMETAFILEPICT.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMETAFILEPICT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMETAFILEPICT(void* value) + { + Value = value; + } + + public static HMETAFILEPICT INVALID_VALUE => new HMETAFILEPICT((void*)(-1)); + public static HMETAFILEPICT NULL => new HMETAFILEPICT(null); + + public static bool operator ==(HMETAFILEPICT left, HMETAFILEPICT right) => + left.Value == right.Value; + + public static bool operator !=(HMETAFILEPICT left, HMETAFILEPICT right) => + left.Value != right.Value; + + public static bool operator <(HMETAFILEPICT left, HMETAFILEPICT right) => + left.Value < right.Value; + + public static bool operator <=(HMETAFILEPICT left, HMETAFILEPICT right) => + left.Value <= right.Value; + + public static bool operator >(HMETAFILEPICT left, HMETAFILEPICT right) => + left.Value > right.Value; + + public static bool operator >=(HMETAFILEPICT left, HMETAFILEPICT right) => + left.Value >= right.Value; + + public static explicit operator HMETAFILEPICT(void* value) => new HMETAFILEPICT(value); + + public static implicit operator void*(HMETAFILEPICT value) => value.Value; + + public static explicit operator HMETAFILEPICT(HANDLE value) => new HMETAFILEPICT(value); + + public static implicit operator HANDLE(HMETAFILEPICT value) => new HANDLE(value.Value); + + public static explicit operator HMETAFILEPICT(byte value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator byte(HMETAFILEPICT value) => (byte)(value.Value); + + public static explicit operator HMETAFILEPICT(short value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator short(HMETAFILEPICT value) => (short)(value.Value); + + public static explicit operator HMETAFILEPICT(int value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator int(HMETAFILEPICT value) => (int)(value.Value); + + public static explicit operator HMETAFILEPICT(long value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator long(HMETAFILEPICT value) => (long)(value.Value); + + public static explicit operator HMETAFILEPICT(nint value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static implicit operator nint(HMETAFILEPICT value) => (nint)(value.Value); + + public static explicit operator HMETAFILEPICT(sbyte value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator sbyte(HMETAFILEPICT value) => (sbyte)(value.Value); + + public static explicit operator HMETAFILEPICT(ushort value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator ushort(HMETAFILEPICT value) => (ushort)(value.Value); + + public static explicit operator HMETAFILEPICT(uint value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator uint(HMETAFILEPICT value) => (uint)(value.Value); + + public static explicit operator HMETAFILEPICT(ulong value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static explicit operator ulong(HMETAFILEPICT value) => (ulong)(value.Value); + + public static explicit operator HMETAFILEPICT(nuint value) => + new HMETAFILEPICT(unchecked((void*)(value))); + + public static implicit operator nuint(HMETAFILEPICT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMETAFILEPICT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMETAFILEPICT."); + } + + public int CompareTo(HMETAFILEPICT other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMETAFILEPICT other) && Equals(other); + + public bool Equals(HMETAFILEPICT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMIDI.gen.cs b/sources/Windows/Windows/other/helper-types/HMIDI.gen.cs new file mode 100644 index 0000000000..bf10d82caa --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMIDI.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMIDI + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMIDI(void* value) + { + Value = value; + } + + public static HMIDI INVALID_VALUE => new HMIDI((void*)(-1)); + public static HMIDI NULL => new HMIDI(null); + + public static bool operator ==(HMIDI left, HMIDI right) => left.Value == right.Value; + + public static bool operator !=(HMIDI left, HMIDI right) => left.Value != right.Value; + + public static bool operator <(HMIDI left, HMIDI right) => left.Value < right.Value; + + public static bool operator <=(HMIDI left, HMIDI right) => left.Value <= right.Value; + + public static bool operator >(HMIDI left, HMIDI right) => left.Value > right.Value; + + public static bool operator >=(HMIDI left, HMIDI right) => left.Value >= right.Value; + + public static explicit operator HMIDI(void* value) => new HMIDI(value); + + public static implicit operator void*(HMIDI value) => value.Value; + + public static explicit operator HMIDI(HANDLE value) => new HMIDI(value); + + public static implicit operator HANDLE(HMIDI value) => new HANDLE(value.Value); + + public static explicit operator HMIDI(byte value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator byte(HMIDI value) => (byte)(value.Value); + + public static explicit operator HMIDI(short value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator short(HMIDI value) => (short)(value.Value); + + public static explicit operator HMIDI(int value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator int(HMIDI value) => (int)(value.Value); + + public static explicit operator HMIDI(long value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator long(HMIDI value) => (long)(value.Value); + + public static explicit operator HMIDI(nint value) => new HMIDI(unchecked((void*)(value))); + + public static implicit operator nint(HMIDI value) => (nint)(value.Value); + + public static explicit operator HMIDI(sbyte value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator sbyte(HMIDI value) => (sbyte)(value.Value); + + public static explicit operator HMIDI(ushort value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator ushort(HMIDI value) => (ushort)(value.Value); + + public static explicit operator HMIDI(uint value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator uint(HMIDI value) => (uint)(value.Value); + + public static explicit operator HMIDI(ulong value) => new HMIDI(unchecked((void*)(value))); + + public static explicit operator ulong(HMIDI value) => (ulong)(value.Value); + + public static explicit operator HMIDI(nuint value) => new HMIDI(unchecked((void*)(value))); + + public static implicit operator nuint(HMIDI value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMIDI other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HMIDI."); + } + + public int CompareTo(HMIDI other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMIDI other) && Equals(other); + + public bool Equals(HMIDI other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMIDIIN.gen.cs b/sources/Windows/Windows/other/helper-types/HMIDIIN.gen.cs new file mode 100644 index 0000000000..c4b1576210 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMIDIIN.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMIDIIN + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMIDIIN(void* value) + { + Value = value; + } + + public static HMIDIIN INVALID_VALUE => new HMIDIIN((void*)(-1)); + public static HMIDIIN NULL => new HMIDIIN(null); + + public static bool operator ==(HMIDIIN left, HMIDIIN right) => left.Value == right.Value; + + public static bool operator !=(HMIDIIN left, HMIDIIN right) => left.Value != right.Value; + + public static bool operator <(HMIDIIN left, HMIDIIN right) => left.Value < right.Value; + + public static bool operator <=(HMIDIIN left, HMIDIIN right) => left.Value <= right.Value; + + public static bool operator >(HMIDIIN left, HMIDIIN right) => left.Value > right.Value; + + public static bool operator >=(HMIDIIN left, HMIDIIN right) => left.Value >= right.Value; + + public static explicit operator HMIDIIN(void* value) => new HMIDIIN(value); + + public static implicit operator void*(HMIDIIN value) => value.Value; + + public static explicit operator HMIDIIN(HANDLE value) => new HMIDIIN(value); + + public static implicit operator HANDLE(HMIDIIN value) => new HANDLE(value.Value); + + public static explicit operator HMIDIIN(byte value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator byte(HMIDIIN value) => (byte)(value.Value); + + public static explicit operator HMIDIIN(short value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator short(HMIDIIN value) => (short)(value.Value); + + public static explicit operator HMIDIIN(int value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator int(HMIDIIN value) => (int)(value.Value); + + public static explicit operator HMIDIIN(long value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator long(HMIDIIN value) => (long)(value.Value); + + public static explicit operator HMIDIIN(nint value) => new HMIDIIN(unchecked((void*)(value))); + + public static implicit operator nint(HMIDIIN value) => (nint)(value.Value); + + public static explicit operator HMIDIIN(sbyte value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator sbyte(HMIDIIN value) => (sbyte)(value.Value); + + public static explicit operator HMIDIIN(ushort value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator ushort(HMIDIIN value) => (ushort)(value.Value); + + public static explicit operator HMIDIIN(uint value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator uint(HMIDIIN value) => (uint)(value.Value); + + public static explicit operator HMIDIIN(ulong value) => new HMIDIIN(unchecked((void*)(value))); + + public static explicit operator ulong(HMIDIIN value) => (ulong)(value.Value); + + public static explicit operator HMIDIIN(nuint value) => new HMIDIIN(unchecked((void*)(value))); + + public static implicit operator nuint(HMIDIIN value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMIDIIN other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMIDIIN."); + } + + public int CompareTo(HMIDIIN other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMIDIIN other) && Equals(other); + + public bool Equals(HMIDIIN other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMIDIOUT.gen.cs b/sources/Windows/Windows/other/helper-types/HMIDIOUT.gen.cs new file mode 100644 index 0000000000..a863bf4120 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMIDIOUT.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMIDIOUT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMIDIOUT(void* value) + { + Value = value; + } + + public static HMIDIOUT INVALID_VALUE => new HMIDIOUT((void*)(-1)); + public static HMIDIOUT NULL => new HMIDIOUT(null); + + public static bool operator ==(HMIDIOUT left, HMIDIOUT right) => left.Value == right.Value; + + public static bool operator !=(HMIDIOUT left, HMIDIOUT right) => left.Value != right.Value; + + public static bool operator <(HMIDIOUT left, HMIDIOUT right) => left.Value < right.Value; + + public static bool operator <=(HMIDIOUT left, HMIDIOUT right) => left.Value <= right.Value; + + public static bool operator >(HMIDIOUT left, HMIDIOUT right) => left.Value > right.Value; + + public static bool operator >=(HMIDIOUT left, HMIDIOUT right) => left.Value >= right.Value; + + public static explicit operator HMIDIOUT(void* value) => new HMIDIOUT(value); + + public static implicit operator void*(HMIDIOUT value) => value.Value; + + public static explicit operator HMIDIOUT(HANDLE value) => new HMIDIOUT(value); + + public static implicit operator HANDLE(HMIDIOUT value) => new HANDLE(value.Value); + + public static explicit operator HMIDIOUT(byte value) => new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator byte(HMIDIOUT value) => (byte)(value.Value); + + public static explicit operator HMIDIOUT(short value) => + new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator short(HMIDIOUT value) => (short)(value.Value); + + public static explicit operator HMIDIOUT(int value) => new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator int(HMIDIOUT value) => (int)(value.Value); + + public static explicit operator HMIDIOUT(long value) => new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator long(HMIDIOUT value) => (long)(value.Value); + + public static explicit operator HMIDIOUT(nint value) => new HMIDIOUT(unchecked((void*)(value))); + + public static implicit operator nint(HMIDIOUT value) => (nint)(value.Value); + + public static explicit operator HMIDIOUT(sbyte value) => + new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator sbyte(HMIDIOUT value) => (sbyte)(value.Value); + + public static explicit operator HMIDIOUT(ushort value) => + new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator ushort(HMIDIOUT value) => (ushort)(value.Value); + + public static explicit operator HMIDIOUT(uint value) => new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator uint(HMIDIOUT value) => (uint)(value.Value); + + public static explicit operator HMIDIOUT(ulong value) => + new HMIDIOUT(unchecked((void*)(value))); + + public static explicit operator ulong(HMIDIOUT value) => (ulong)(value.Value); + + public static explicit operator HMIDIOUT(nuint value) => + new HMIDIOUT(unchecked((void*)(value))); + + public static implicit operator nuint(HMIDIOUT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMIDIOUT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMIDIOUT."); + } + + public int CompareTo(HMIDIOUT other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMIDIOUT other) && Equals(other); + + public bool Equals(HMIDIOUT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMIDISTRM.gen.cs b/sources/Windows/Windows/other/helper-types/HMIDISTRM.gen.cs new file mode 100644 index 0000000000..c3f36f2b64 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMIDISTRM.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMIDISTRM + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMIDISTRM(void* value) + { + Value = value; + } + + public static HMIDISTRM INVALID_VALUE => new HMIDISTRM((void*)(-1)); + public static HMIDISTRM NULL => new HMIDISTRM(null); + + public static bool operator ==(HMIDISTRM left, HMIDISTRM right) => left.Value == right.Value; + + public static bool operator !=(HMIDISTRM left, HMIDISTRM right) => left.Value != right.Value; + + public static bool operator <(HMIDISTRM left, HMIDISTRM right) => left.Value < right.Value; + + public static bool operator <=(HMIDISTRM left, HMIDISTRM right) => left.Value <= right.Value; + + public static bool operator >(HMIDISTRM left, HMIDISTRM right) => left.Value > right.Value; + + public static bool operator >=(HMIDISTRM left, HMIDISTRM right) => left.Value >= right.Value; + + public static explicit operator HMIDISTRM(void* value) => new HMIDISTRM(value); + + public static implicit operator void*(HMIDISTRM value) => value.Value; + + public static explicit operator HMIDISTRM(HANDLE value) => new HMIDISTRM(value); + + public static implicit operator HANDLE(HMIDISTRM value) => new HANDLE(value.Value); + + public static explicit operator HMIDISTRM(byte value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator byte(HMIDISTRM value) => (byte)(value.Value); + + public static explicit operator HMIDISTRM(short value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator short(HMIDISTRM value) => (short)(value.Value); + + public static explicit operator HMIDISTRM(int value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator int(HMIDISTRM value) => (int)(value.Value); + + public static explicit operator HMIDISTRM(long value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator long(HMIDISTRM value) => (long)(value.Value); + + public static explicit operator HMIDISTRM(nint value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static implicit operator nint(HMIDISTRM value) => (nint)(value.Value); + + public static explicit operator HMIDISTRM(sbyte value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator sbyte(HMIDISTRM value) => (sbyte)(value.Value); + + public static explicit operator HMIDISTRM(ushort value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator ushort(HMIDISTRM value) => (ushort)(value.Value); + + public static explicit operator HMIDISTRM(uint value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator uint(HMIDISTRM value) => (uint)(value.Value); + + public static explicit operator HMIDISTRM(ulong value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static explicit operator ulong(HMIDISTRM value) => (ulong)(value.Value); + + public static explicit operator HMIDISTRM(nuint value) => + new HMIDISTRM(unchecked((void*)(value))); + + public static implicit operator nuint(HMIDISTRM value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMIDISTRM other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMIDISTRM."); + } + + public int CompareTo(HMIDISTRM other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMIDISTRM other) && Equals(other); + + public bool Equals(HMIDISTRM other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMIXER.gen.cs b/sources/Windows/Windows/other/helper-types/HMIXER.gen.cs new file mode 100644 index 0000000000..d7d18617ff --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMIXER.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMIXER + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMIXER(void* value) + { + Value = value; + } + + public static HMIXER INVALID_VALUE => new HMIXER((void*)(-1)); + public static HMIXER NULL => new HMIXER(null); + + public static bool operator ==(HMIXER left, HMIXER right) => left.Value == right.Value; + + public static bool operator !=(HMIXER left, HMIXER right) => left.Value != right.Value; + + public static bool operator <(HMIXER left, HMIXER right) => left.Value < right.Value; + + public static bool operator <=(HMIXER left, HMIXER right) => left.Value <= right.Value; + + public static bool operator >(HMIXER left, HMIXER right) => left.Value > right.Value; + + public static bool operator >=(HMIXER left, HMIXER right) => left.Value >= right.Value; + + public static explicit operator HMIXER(void* value) => new HMIXER(value); + + public static implicit operator void*(HMIXER value) => value.Value; + + public static explicit operator HMIXER(HANDLE value) => new HMIXER(value); + + public static implicit operator HANDLE(HMIXER value) => new HANDLE(value.Value); + + public static explicit operator HMIXER(byte value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator byte(HMIXER value) => (byte)(value.Value); + + public static explicit operator HMIXER(short value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator short(HMIXER value) => (short)(value.Value); + + public static explicit operator HMIXER(int value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator int(HMIXER value) => (int)(value.Value); + + public static explicit operator HMIXER(long value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator long(HMIXER value) => (long)(value.Value); + + public static explicit operator HMIXER(nint value) => new HMIXER(unchecked((void*)(value))); + + public static implicit operator nint(HMIXER value) => (nint)(value.Value); + + public static explicit operator HMIXER(sbyte value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator sbyte(HMIXER value) => (sbyte)(value.Value); + + public static explicit operator HMIXER(ushort value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator ushort(HMIXER value) => (ushort)(value.Value); + + public static explicit operator HMIXER(uint value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator uint(HMIXER value) => (uint)(value.Value); + + public static explicit operator HMIXER(ulong value) => new HMIXER(unchecked((void*)(value))); + + public static explicit operator ulong(HMIXER value) => (ulong)(value.Value); + + public static explicit operator HMIXER(nuint value) => new HMIXER(unchecked((void*)(value))); + + public static implicit operator nuint(HMIXER value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMIXER other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HMIXER."); + } + + public int CompareTo(HMIXER other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMIXER other) && Equals(other); + + public bool Equals(HMIXER other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMIXEROBJ.gen.cs b/sources/Windows/Windows/other/helper-types/HMIXEROBJ.gen.cs new file mode 100644 index 0000000000..447dc7537e --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMIXEROBJ.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMIXEROBJ + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMIXEROBJ(void* value) + { + Value = value; + } + + public static HMIXEROBJ INVALID_VALUE => new HMIXEROBJ((void*)(-1)); + public static HMIXEROBJ NULL => new HMIXEROBJ(null); + + public static bool operator ==(HMIXEROBJ left, HMIXEROBJ right) => left.Value == right.Value; + + public static bool operator !=(HMIXEROBJ left, HMIXEROBJ right) => left.Value != right.Value; + + public static bool operator <(HMIXEROBJ left, HMIXEROBJ right) => left.Value < right.Value; + + public static bool operator <=(HMIXEROBJ left, HMIXEROBJ right) => left.Value <= right.Value; + + public static bool operator >(HMIXEROBJ left, HMIXEROBJ right) => left.Value > right.Value; + + public static bool operator >=(HMIXEROBJ left, HMIXEROBJ right) => left.Value >= right.Value; + + public static explicit operator HMIXEROBJ(void* value) => new HMIXEROBJ(value); + + public static implicit operator void*(HMIXEROBJ value) => value.Value; + + public static explicit operator HMIXEROBJ(HANDLE value) => new HMIXEROBJ(value); + + public static implicit operator HANDLE(HMIXEROBJ value) => new HANDLE(value.Value); + + public static explicit operator HMIXEROBJ(byte value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator byte(HMIXEROBJ value) => (byte)(value.Value); + + public static explicit operator HMIXEROBJ(short value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator short(HMIXEROBJ value) => (short)(value.Value); + + public static explicit operator HMIXEROBJ(int value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator int(HMIXEROBJ value) => (int)(value.Value); + + public static explicit operator HMIXEROBJ(long value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator long(HMIXEROBJ value) => (long)(value.Value); + + public static explicit operator HMIXEROBJ(nint value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static implicit operator nint(HMIXEROBJ value) => (nint)(value.Value); + + public static explicit operator HMIXEROBJ(sbyte value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator sbyte(HMIXEROBJ value) => (sbyte)(value.Value); + + public static explicit operator HMIXEROBJ(ushort value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator ushort(HMIXEROBJ value) => (ushort)(value.Value); + + public static explicit operator HMIXEROBJ(uint value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator uint(HMIXEROBJ value) => (uint)(value.Value); + + public static explicit operator HMIXEROBJ(ulong value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static explicit operator ulong(HMIXEROBJ value) => (ulong)(value.Value); + + public static explicit operator HMIXEROBJ(nuint value) => + new HMIXEROBJ(unchecked((void*)(value))); + + public static implicit operator nuint(HMIXEROBJ value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMIXEROBJ other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMIXEROBJ."); + } + + public int CompareTo(HMIXEROBJ other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMIXEROBJ other) && Equals(other); + + public bool Equals(HMIXEROBJ other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMODULE.gen.cs b/sources/Windows/Windows/other/helper-types/HMODULE.gen.cs new file mode 100644 index 0000000000..ee33244308 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMODULE.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMODULE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMODULE(void* value) + { + Value = value; + } + + public static HMODULE INVALID_VALUE => new HMODULE((void*)(-1)); + public static HMODULE NULL => new HMODULE(null); + + public static bool operator ==(HMODULE left, HMODULE right) => left.Value == right.Value; + + public static bool operator !=(HMODULE left, HMODULE right) => left.Value != right.Value; + + public static bool operator <(HMODULE left, HMODULE right) => left.Value < right.Value; + + public static bool operator <=(HMODULE left, HMODULE right) => left.Value <= right.Value; + + public static bool operator >(HMODULE left, HMODULE right) => left.Value > right.Value; + + public static bool operator >=(HMODULE left, HMODULE right) => left.Value >= right.Value; + + public static explicit operator HMODULE(void* value) => new HMODULE(value); + + public static implicit operator void*(HMODULE value) => value.Value; + + public static explicit operator HMODULE(HANDLE value) => new HMODULE(value); + + public static implicit operator HANDLE(HMODULE value) => new HANDLE(value.Value); + + public static explicit operator HMODULE(byte value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator byte(HMODULE value) => (byte)(value.Value); + + public static explicit operator HMODULE(short value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator short(HMODULE value) => (short)(value.Value); + + public static explicit operator HMODULE(int value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator int(HMODULE value) => (int)(value.Value); + + public static explicit operator HMODULE(long value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator long(HMODULE value) => (long)(value.Value); + + public static explicit operator HMODULE(nint value) => new HMODULE(unchecked((void*)(value))); + + public static implicit operator nint(HMODULE value) => (nint)(value.Value); + + public static explicit operator HMODULE(sbyte value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator sbyte(HMODULE value) => (sbyte)(value.Value); + + public static explicit operator HMODULE(ushort value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator ushort(HMODULE value) => (ushort)(value.Value); + + public static explicit operator HMODULE(uint value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator uint(HMODULE value) => (uint)(value.Value); + + public static explicit operator HMODULE(ulong value) => new HMODULE(unchecked((void*)(value))); + + public static explicit operator ulong(HMODULE value) => (ulong)(value.Value); + + public static explicit operator HMODULE(nuint value) => new HMODULE(unchecked((void*)(value))); + + public static implicit operator nuint(HMODULE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMODULE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMODULE."); + } + + public int CompareTo(HMODULE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMODULE other) && Equals(other); + + public bool Equals(HMODULE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HMONITOR.gen.cs b/sources/Windows/Windows/other/helper-types/HMONITOR.gen.cs new file mode 100644 index 0000000000..d2436d2441 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HMONITOR.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HMONITOR + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HMONITOR(void* value) + { + Value = value; + } + + public static HMONITOR INVALID_VALUE => new HMONITOR((void*)(-1)); + public static HMONITOR NULL => new HMONITOR(null); + + public static bool operator ==(HMONITOR left, HMONITOR right) => left.Value == right.Value; + + public static bool operator !=(HMONITOR left, HMONITOR right) => left.Value != right.Value; + + public static bool operator <(HMONITOR left, HMONITOR right) => left.Value < right.Value; + + public static bool operator <=(HMONITOR left, HMONITOR right) => left.Value <= right.Value; + + public static bool operator >(HMONITOR left, HMONITOR right) => left.Value > right.Value; + + public static bool operator >=(HMONITOR left, HMONITOR right) => left.Value >= right.Value; + + public static explicit operator HMONITOR(void* value) => new HMONITOR(value); + + public static implicit operator void*(HMONITOR value) => value.Value; + + public static explicit operator HMONITOR(HANDLE value) => new HMONITOR(value); + + public static implicit operator HANDLE(HMONITOR value) => new HANDLE(value.Value); + + public static explicit operator HMONITOR(byte value) => new HMONITOR(unchecked((void*)(value))); + + public static explicit operator byte(HMONITOR value) => (byte)(value.Value); + + public static explicit operator HMONITOR(short value) => + new HMONITOR(unchecked((void*)(value))); + + public static explicit operator short(HMONITOR value) => (short)(value.Value); + + public static explicit operator HMONITOR(int value) => new HMONITOR(unchecked((void*)(value))); + + public static explicit operator int(HMONITOR value) => (int)(value.Value); + + public static explicit operator HMONITOR(long value) => new HMONITOR(unchecked((void*)(value))); + + public static explicit operator long(HMONITOR value) => (long)(value.Value); + + public static explicit operator HMONITOR(nint value) => new HMONITOR(unchecked((void*)(value))); + + public static implicit operator nint(HMONITOR value) => (nint)(value.Value); + + public static explicit operator HMONITOR(sbyte value) => + new HMONITOR(unchecked((void*)(value))); + + public static explicit operator sbyte(HMONITOR value) => (sbyte)(value.Value); + + public static explicit operator HMONITOR(ushort value) => + new HMONITOR(unchecked((void*)(value))); + + public static explicit operator ushort(HMONITOR value) => (ushort)(value.Value); + + public static explicit operator HMONITOR(uint value) => new HMONITOR(unchecked((void*)(value))); + + public static explicit operator uint(HMONITOR value) => (uint)(value.Value); + + public static explicit operator HMONITOR(ulong value) => + new HMONITOR(unchecked((void*)(value))); + + public static explicit operator ulong(HMONITOR value) => (ulong)(value.Value); + + public static explicit operator HMONITOR(nuint value) => + new HMONITOR(unchecked((void*)(value))); + + public static implicit operator nuint(HMONITOR value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HMONITOR other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HMONITOR."); + } + + public int CompareTo(HMONITOR other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HMONITOR other) && Equals(other); + + public bool Equals(HMONITOR other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPAINTBUFFER.gen.cs b/sources/Windows/Windows/other/helper-types/HPAINTBUFFER.gen.cs new file mode 100644 index 0000000000..1b09d2b90c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPAINTBUFFER.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPAINTBUFFER + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPAINTBUFFER(void* value) + { + Value = value; + } + + public static HPAINTBUFFER INVALID_VALUE => new HPAINTBUFFER((void*)(-1)); + public static HPAINTBUFFER NULL => new HPAINTBUFFER(null); + + public static bool operator ==(HPAINTBUFFER left, HPAINTBUFFER right) => + left.Value == right.Value; + + public static bool operator !=(HPAINTBUFFER left, HPAINTBUFFER right) => + left.Value != right.Value; + + public static bool operator <(HPAINTBUFFER left, HPAINTBUFFER right) => + left.Value < right.Value; + + public static bool operator <=(HPAINTBUFFER left, HPAINTBUFFER right) => + left.Value <= right.Value; + + public static bool operator >(HPAINTBUFFER left, HPAINTBUFFER right) => + left.Value > right.Value; + + public static bool operator >=(HPAINTBUFFER left, HPAINTBUFFER right) => + left.Value >= right.Value; + + public static explicit operator HPAINTBUFFER(void* value) => new HPAINTBUFFER(value); + + public static implicit operator void*(HPAINTBUFFER value) => value.Value; + + public static explicit operator HPAINTBUFFER(HANDLE value) => new HPAINTBUFFER(value); + + public static implicit operator HANDLE(HPAINTBUFFER value) => new HANDLE(value.Value); + + public static explicit operator HPAINTBUFFER(byte value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator byte(HPAINTBUFFER value) => (byte)(value.Value); + + public static explicit operator HPAINTBUFFER(short value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator short(HPAINTBUFFER value) => (short)(value.Value); + + public static explicit operator HPAINTBUFFER(int value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator int(HPAINTBUFFER value) => (int)(value.Value); + + public static explicit operator HPAINTBUFFER(long value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator long(HPAINTBUFFER value) => (long)(value.Value); + + public static explicit operator HPAINTBUFFER(nint value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static implicit operator nint(HPAINTBUFFER value) => (nint)(value.Value); + + public static explicit operator HPAINTBUFFER(sbyte value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator sbyte(HPAINTBUFFER value) => (sbyte)(value.Value); + + public static explicit operator HPAINTBUFFER(ushort value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator ushort(HPAINTBUFFER value) => (ushort)(value.Value); + + public static explicit operator HPAINTBUFFER(uint value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator uint(HPAINTBUFFER value) => (uint)(value.Value); + + public static explicit operator HPAINTBUFFER(ulong value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static explicit operator ulong(HPAINTBUFFER value) => (ulong)(value.Value); + + public static explicit operator HPAINTBUFFER(nuint value) => + new HPAINTBUFFER(unchecked((void*)(value))); + + public static implicit operator nuint(HPAINTBUFFER value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPAINTBUFFER other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HPAINTBUFFER."); + } + + public int CompareTo(HPAINTBUFFER other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPAINTBUFFER other) && Equals(other); + + public bool Equals(HPAINTBUFFER other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPALETTE.gen.cs b/sources/Windows/Windows/other/helper-types/HPALETTE.gen.cs new file mode 100644 index 0000000000..9448bf5313 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPALETTE.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPALETTE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPALETTE(void* value) + { + Value = value; + } + + public static HPALETTE INVALID_VALUE => new HPALETTE((void*)(-1)); + public static HPALETTE NULL => new HPALETTE(null); + + public static bool operator ==(HPALETTE left, HPALETTE right) => left.Value == right.Value; + + public static bool operator !=(HPALETTE left, HPALETTE right) => left.Value != right.Value; + + public static bool operator <(HPALETTE left, HPALETTE right) => left.Value < right.Value; + + public static bool operator <=(HPALETTE left, HPALETTE right) => left.Value <= right.Value; + + public static bool operator >(HPALETTE left, HPALETTE right) => left.Value > right.Value; + + public static bool operator >=(HPALETTE left, HPALETTE right) => left.Value >= right.Value; + + public static explicit operator HPALETTE(void* value) => new HPALETTE(value); + + public static implicit operator void*(HPALETTE value) => value.Value; + + public static explicit operator HPALETTE(HANDLE value) => new HPALETTE(value); + + public static implicit operator HANDLE(HPALETTE value) => new HANDLE(value.Value); + + public static explicit operator HPALETTE(byte value) => new HPALETTE(unchecked((void*)(value))); + + public static explicit operator byte(HPALETTE value) => (byte)(value.Value); + + public static explicit operator HPALETTE(short value) => + new HPALETTE(unchecked((void*)(value))); + + public static explicit operator short(HPALETTE value) => (short)(value.Value); + + public static explicit operator HPALETTE(int value) => new HPALETTE(unchecked((void*)(value))); + + public static explicit operator int(HPALETTE value) => (int)(value.Value); + + public static explicit operator HPALETTE(long value) => new HPALETTE(unchecked((void*)(value))); + + public static explicit operator long(HPALETTE value) => (long)(value.Value); + + public static explicit operator HPALETTE(nint value) => new HPALETTE(unchecked((void*)(value))); + + public static implicit operator nint(HPALETTE value) => (nint)(value.Value); + + public static explicit operator HPALETTE(sbyte value) => + new HPALETTE(unchecked((void*)(value))); + + public static explicit operator sbyte(HPALETTE value) => (sbyte)(value.Value); + + public static explicit operator HPALETTE(ushort value) => + new HPALETTE(unchecked((void*)(value))); + + public static explicit operator ushort(HPALETTE value) => (ushort)(value.Value); + + public static explicit operator HPALETTE(uint value) => new HPALETTE(unchecked((void*)(value))); + + public static explicit operator uint(HPALETTE value) => (uint)(value.Value); + + public static explicit operator HPALETTE(ulong value) => + new HPALETTE(unchecked((void*)(value))); + + public static explicit operator ulong(HPALETTE value) => (ulong)(value.Value); + + public static explicit operator HPALETTE(nuint value) => + new HPALETTE(unchecked((void*)(value))); + + public static implicit operator nuint(HPALETTE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPALETTE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HPALETTE."); + } + + public int CompareTo(HPALETTE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPALETTE other) && Equals(other); + + public bool Equals(HPALETTE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPCON.gen.cs b/sources/Windows/Windows/other/helper-types/HPCON.gen.cs new file mode 100644 index 0000000000..ca9e129a8e --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPCON.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPCON + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPCON(void* value) + { + Value = value; + } + + public static HPCON INVALID_VALUE => new HPCON((void*)(-1)); + public static HPCON NULL => new HPCON(null); + + public static bool operator ==(HPCON left, HPCON right) => left.Value == right.Value; + + public static bool operator !=(HPCON left, HPCON right) => left.Value != right.Value; + + public static bool operator <(HPCON left, HPCON right) => left.Value < right.Value; + + public static bool operator <=(HPCON left, HPCON right) => left.Value <= right.Value; + + public static bool operator >(HPCON left, HPCON right) => left.Value > right.Value; + + public static bool operator >=(HPCON left, HPCON right) => left.Value >= right.Value; + + public static explicit operator HPCON(void* value) => new HPCON(value); + + public static implicit operator void*(HPCON value) => value.Value; + + public static explicit operator HPCON(HANDLE value) => new HPCON(value); + + public static implicit operator HANDLE(HPCON value) => new HANDLE(value.Value); + + public static explicit operator HPCON(byte value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator byte(HPCON value) => (byte)(value.Value); + + public static explicit operator HPCON(short value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator short(HPCON value) => (short)(value.Value); + + public static explicit operator HPCON(int value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator int(HPCON value) => (int)(value.Value); + + public static explicit operator HPCON(long value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator long(HPCON value) => (long)(value.Value); + + public static explicit operator HPCON(nint value) => new HPCON(unchecked((void*)(value))); + + public static implicit operator nint(HPCON value) => (nint)(value.Value); + + public static explicit operator HPCON(sbyte value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator sbyte(HPCON value) => (sbyte)(value.Value); + + public static explicit operator HPCON(ushort value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator ushort(HPCON value) => (ushort)(value.Value); + + public static explicit operator HPCON(uint value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator uint(HPCON value) => (uint)(value.Value); + + public static explicit operator HPCON(ulong value) => new HPCON(unchecked((void*)(value))); + + public static explicit operator ulong(HPCON value) => (ulong)(value.Value); + + public static explicit operator HPCON(nuint value) => new HPCON(unchecked((void*)(value))); + + public static implicit operator nuint(HPCON value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPCON other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HPCON."); + } + + public int CompareTo(HPCON other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPCON other) && Equals(other); + + public bool Equals(HPCON other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPEN.gen.cs b/sources/Windows/Windows/other/helper-types/HPEN.gen.cs new file mode 100644 index 0000000000..5e79f23107 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPEN.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPEN + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPEN(void* value) + { + Value = value; + } + + public static HPEN INVALID_VALUE => new HPEN((void*)(-1)); + public static HPEN NULL => new HPEN(null); + + public static bool operator ==(HPEN left, HPEN right) => left.Value == right.Value; + + public static bool operator !=(HPEN left, HPEN right) => left.Value != right.Value; + + public static bool operator <(HPEN left, HPEN right) => left.Value < right.Value; + + public static bool operator <=(HPEN left, HPEN right) => left.Value <= right.Value; + + public static bool operator >(HPEN left, HPEN right) => left.Value > right.Value; + + public static bool operator >=(HPEN left, HPEN right) => left.Value >= right.Value; + + public static explicit operator HPEN(void* value) => new HPEN(value); + + public static implicit operator void*(HPEN value) => value.Value; + + public static explicit operator HPEN(HANDLE value) => new HPEN(value); + + public static implicit operator HANDLE(HPEN value) => new HANDLE(value.Value); + + public static explicit operator HPEN(byte value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator byte(HPEN value) => (byte)(value.Value); + + public static explicit operator HPEN(short value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator short(HPEN value) => (short)(value.Value); + + public static explicit operator HPEN(int value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator int(HPEN value) => (int)(value.Value); + + public static explicit operator HPEN(long value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator long(HPEN value) => (long)(value.Value); + + public static explicit operator HPEN(nint value) => new HPEN(unchecked((void*)(value))); + + public static implicit operator nint(HPEN value) => (nint)(value.Value); + + public static explicit operator HPEN(sbyte value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator sbyte(HPEN value) => (sbyte)(value.Value); + + public static explicit operator HPEN(ushort value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator ushort(HPEN value) => (ushort)(value.Value); + + public static explicit operator HPEN(uint value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator uint(HPEN value) => (uint)(value.Value); + + public static explicit operator HPEN(ulong value) => new HPEN(unchecked((void*)(value))); + + public static explicit operator ulong(HPEN value) => (ulong)(value.Value); + + public static explicit operator HPEN(nuint value) => new HPEN(unchecked((void*)(value))); + + public static implicit operator nuint(HPEN value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPEN other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HPEN."); + } + + public int CompareTo(HPEN other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPEN other) && Equals(other); + + public bool Equals(HPEN other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPOWERNOTIFY.gen.cs b/sources/Windows/Windows/other/helper-types/HPOWERNOTIFY.gen.cs new file mode 100644 index 0000000000..b626682e81 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPOWERNOTIFY.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPOWERNOTIFY + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPOWERNOTIFY(void* value) + { + Value = value; + } + + public static HPOWERNOTIFY INVALID_VALUE => new HPOWERNOTIFY((void*)(-1)); + public static HPOWERNOTIFY NULL => new HPOWERNOTIFY(null); + + public static bool operator ==(HPOWERNOTIFY left, HPOWERNOTIFY right) => + left.Value == right.Value; + + public static bool operator !=(HPOWERNOTIFY left, HPOWERNOTIFY right) => + left.Value != right.Value; + + public static bool operator <(HPOWERNOTIFY left, HPOWERNOTIFY right) => + left.Value < right.Value; + + public static bool operator <=(HPOWERNOTIFY left, HPOWERNOTIFY right) => + left.Value <= right.Value; + + public static bool operator >(HPOWERNOTIFY left, HPOWERNOTIFY right) => + left.Value > right.Value; + + public static bool operator >=(HPOWERNOTIFY left, HPOWERNOTIFY right) => + left.Value >= right.Value; + + public static explicit operator HPOWERNOTIFY(void* value) => new HPOWERNOTIFY(value); + + public static implicit operator void*(HPOWERNOTIFY value) => value.Value; + + public static explicit operator HPOWERNOTIFY(HANDLE value) => new HPOWERNOTIFY(value); + + public static implicit operator HANDLE(HPOWERNOTIFY value) => new HANDLE(value.Value); + + public static explicit operator HPOWERNOTIFY(byte value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator byte(HPOWERNOTIFY value) => (byte)(value.Value); + + public static explicit operator HPOWERNOTIFY(short value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator short(HPOWERNOTIFY value) => (short)(value.Value); + + public static explicit operator HPOWERNOTIFY(int value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator int(HPOWERNOTIFY value) => (int)(value.Value); + + public static explicit operator HPOWERNOTIFY(long value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator long(HPOWERNOTIFY value) => (long)(value.Value); + + public static explicit operator HPOWERNOTIFY(nint value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static implicit operator nint(HPOWERNOTIFY value) => (nint)(value.Value); + + public static explicit operator HPOWERNOTIFY(sbyte value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator sbyte(HPOWERNOTIFY value) => (sbyte)(value.Value); + + public static explicit operator HPOWERNOTIFY(ushort value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator ushort(HPOWERNOTIFY value) => (ushort)(value.Value); + + public static explicit operator HPOWERNOTIFY(uint value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator uint(HPOWERNOTIFY value) => (uint)(value.Value); + + public static explicit operator HPOWERNOTIFY(ulong value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static explicit operator ulong(HPOWERNOTIFY value) => (ulong)(value.Value); + + public static explicit operator HPOWERNOTIFY(nuint value) => + new HPOWERNOTIFY(unchecked((void*)(value))); + + public static implicit operator nuint(HPOWERNOTIFY value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPOWERNOTIFY other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HPOWERNOTIFY."); + } + + public int CompareTo(HPOWERNOTIFY other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPOWERNOTIFY other) && Equals(other); + + public bool Equals(HPOWERNOTIFY other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPROFILE.gen.cs b/sources/Windows/Windows/other/helper-types/HPROFILE.gen.cs new file mode 100644 index 0000000000..b39e96277d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPROFILE.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPROFILE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPROFILE(void* value) + { + Value = value; + } + + public static HPROFILE INVALID_VALUE => new HPROFILE((void*)(-1)); + public static HPROFILE NULL => new HPROFILE(null); + + public static bool operator ==(HPROFILE left, HPROFILE right) => left.Value == right.Value; + + public static bool operator !=(HPROFILE left, HPROFILE right) => left.Value != right.Value; + + public static bool operator <(HPROFILE left, HPROFILE right) => left.Value < right.Value; + + public static bool operator <=(HPROFILE left, HPROFILE right) => left.Value <= right.Value; + + public static bool operator >(HPROFILE left, HPROFILE right) => left.Value > right.Value; + + public static bool operator >=(HPROFILE left, HPROFILE right) => left.Value >= right.Value; + + public static explicit operator HPROFILE(void* value) => new HPROFILE(value); + + public static implicit operator void*(HPROFILE value) => value.Value; + + public static explicit operator HPROFILE(HANDLE value) => new HPROFILE(value); + + public static implicit operator HANDLE(HPROFILE value) => new HANDLE(value.Value); + + public static explicit operator HPROFILE(byte value) => new HPROFILE(unchecked((void*)(value))); + + public static explicit operator byte(HPROFILE value) => (byte)(value.Value); + + public static explicit operator HPROFILE(short value) => + new HPROFILE(unchecked((void*)(value))); + + public static explicit operator short(HPROFILE value) => (short)(value.Value); + + public static explicit operator HPROFILE(int value) => new HPROFILE(unchecked((void*)(value))); + + public static explicit operator int(HPROFILE value) => (int)(value.Value); + + public static explicit operator HPROFILE(long value) => new HPROFILE(unchecked((void*)(value))); + + public static explicit operator long(HPROFILE value) => (long)(value.Value); + + public static explicit operator HPROFILE(nint value) => new HPROFILE(unchecked((void*)(value))); + + public static implicit operator nint(HPROFILE value) => (nint)(value.Value); + + public static explicit operator HPROFILE(sbyte value) => + new HPROFILE(unchecked((void*)(value))); + + public static explicit operator sbyte(HPROFILE value) => (sbyte)(value.Value); + + public static explicit operator HPROFILE(ushort value) => + new HPROFILE(unchecked((void*)(value))); + + public static explicit operator ushort(HPROFILE value) => (ushort)(value.Value); + + public static explicit operator HPROFILE(uint value) => new HPROFILE(unchecked((void*)(value))); + + public static explicit operator uint(HPROFILE value) => (uint)(value.Value); + + public static explicit operator HPROFILE(ulong value) => + new HPROFILE(unchecked((void*)(value))); + + public static explicit operator ulong(HPROFILE value) => (ulong)(value.Value); + + public static explicit operator HPROFILE(nuint value) => + new HPROFILE(unchecked((void*)(value))); + + public static implicit operator nuint(HPROFILE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPROFILE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HPROFILE."); + } + + public int CompareTo(HPROFILE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPROFILE other) && Equals(other); + + public bool Equals(HPROFILE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPROPSHEETPAGE.gen.cs b/sources/Windows/Windows/other/helper-types/HPROPSHEETPAGE.gen.cs new file mode 100644 index 0000000000..30008654d7 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPROPSHEETPAGE.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPROPSHEETPAGE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPROPSHEETPAGE(void* value) + { + Value = value; + } + + public static HPROPSHEETPAGE INVALID_VALUE => new HPROPSHEETPAGE((void*)(-1)); + public static HPROPSHEETPAGE NULL => new HPROPSHEETPAGE(null); + + public static bool operator ==(HPROPSHEETPAGE left, HPROPSHEETPAGE right) => + left.Value == right.Value; + + public static bool operator !=(HPROPSHEETPAGE left, HPROPSHEETPAGE right) => + left.Value != right.Value; + + public static bool operator <(HPROPSHEETPAGE left, HPROPSHEETPAGE right) => + left.Value < right.Value; + + public static bool operator <=(HPROPSHEETPAGE left, HPROPSHEETPAGE right) => + left.Value <= right.Value; + + public static bool operator >(HPROPSHEETPAGE left, HPROPSHEETPAGE right) => + left.Value > right.Value; + + public static bool operator >=(HPROPSHEETPAGE left, HPROPSHEETPAGE right) => + left.Value >= right.Value; + + public static explicit operator HPROPSHEETPAGE(void* value) => new HPROPSHEETPAGE(value); + + public static implicit operator void*(HPROPSHEETPAGE value) => value.Value; + + public static explicit operator HPROPSHEETPAGE(HANDLE value) => new HPROPSHEETPAGE(value); + + public static implicit operator HANDLE(HPROPSHEETPAGE value) => new HANDLE(value.Value); + + public static explicit operator HPROPSHEETPAGE(byte value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator byte(HPROPSHEETPAGE value) => (byte)(value.Value); + + public static explicit operator HPROPSHEETPAGE(short value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator short(HPROPSHEETPAGE value) => (short)(value.Value); + + public static explicit operator HPROPSHEETPAGE(int value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator int(HPROPSHEETPAGE value) => (int)(value.Value); + + public static explicit operator HPROPSHEETPAGE(long value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator long(HPROPSHEETPAGE value) => (long)(value.Value); + + public static explicit operator HPROPSHEETPAGE(nint value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static implicit operator nint(HPROPSHEETPAGE value) => (nint)(value.Value); + + public static explicit operator HPROPSHEETPAGE(sbyte value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator sbyte(HPROPSHEETPAGE value) => (sbyte)(value.Value); + + public static explicit operator HPROPSHEETPAGE(ushort value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator ushort(HPROPSHEETPAGE value) => (ushort)(value.Value); + + public static explicit operator HPROPSHEETPAGE(uint value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator uint(HPROPSHEETPAGE value) => (uint)(value.Value); + + public static explicit operator HPROPSHEETPAGE(ulong value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static explicit operator ulong(HPROPSHEETPAGE value) => (ulong)(value.Value); + + public static explicit operator HPROPSHEETPAGE(nuint value) => + new HPROPSHEETPAGE(unchecked((void*)(value))); + + public static implicit operator nuint(HPROPSHEETPAGE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPROPSHEETPAGE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HPROPSHEETPAGE."); + } + + public int CompareTo(HPROPSHEETPAGE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPROPSHEETPAGE other) && Equals(other); + + public bool Equals(HPROPSHEETPAGE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPSS.gen.cs b/sources/Windows/Windows/other/helper-types/HPSS.gen.cs new file mode 100644 index 0000000000..7856e1b1eb --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPSS.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPSS + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPSS(void* value) + { + Value = value; + } + + public static HPSS INVALID_VALUE => new HPSS((void*)(-1)); + public static HPSS NULL => new HPSS(null); + + public static bool operator ==(HPSS left, HPSS right) => left.Value == right.Value; + + public static bool operator !=(HPSS left, HPSS right) => left.Value != right.Value; + + public static bool operator <(HPSS left, HPSS right) => left.Value < right.Value; + + public static bool operator <=(HPSS left, HPSS right) => left.Value <= right.Value; + + public static bool operator >(HPSS left, HPSS right) => left.Value > right.Value; + + public static bool operator >=(HPSS left, HPSS right) => left.Value >= right.Value; + + public static explicit operator HPSS(void* value) => new HPSS(value); + + public static implicit operator void*(HPSS value) => value.Value; + + public static explicit operator HPSS(HANDLE value) => new HPSS(value); + + public static implicit operator HANDLE(HPSS value) => new HANDLE(value.Value); + + public static explicit operator HPSS(byte value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator byte(HPSS value) => (byte)(value.Value); + + public static explicit operator HPSS(short value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator short(HPSS value) => (short)(value.Value); + + public static explicit operator HPSS(int value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator int(HPSS value) => (int)(value.Value); + + public static explicit operator HPSS(long value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator long(HPSS value) => (long)(value.Value); + + public static explicit operator HPSS(nint value) => new HPSS(unchecked((void*)(value))); + + public static implicit operator nint(HPSS value) => (nint)(value.Value); + + public static explicit operator HPSS(sbyte value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator sbyte(HPSS value) => (sbyte)(value.Value); + + public static explicit operator HPSS(ushort value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator ushort(HPSS value) => (ushort)(value.Value); + + public static explicit operator HPSS(uint value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator uint(HPSS value) => (uint)(value.Value); + + public static explicit operator HPSS(ulong value) => new HPSS(unchecked((void*)(value))); + + public static explicit operator ulong(HPSS value) => (ulong)(value.Value); + + public static explicit operator HPSS(nuint value) => new HPSS(unchecked((void*)(value))); + + public static implicit operator nuint(HPSS value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPSS other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HPSS."); + } + + public int CompareTo(HPSS other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPSS other) && Equals(other); + + public bool Equals(HPSS other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPSSWALK.gen.cs b/sources/Windows/Windows/other/helper-types/HPSSWALK.gen.cs new file mode 100644 index 0000000000..9722dc71b1 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPSSWALK.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPSSWALK + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPSSWALK(void* value) + { + Value = value; + } + + public static HPSSWALK INVALID_VALUE => new HPSSWALK((void*)(-1)); + public static HPSSWALK NULL => new HPSSWALK(null); + + public static bool operator ==(HPSSWALK left, HPSSWALK right) => left.Value == right.Value; + + public static bool operator !=(HPSSWALK left, HPSSWALK right) => left.Value != right.Value; + + public static bool operator <(HPSSWALK left, HPSSWALK right) => left.Value < right.Value; + + public static bool operator <=(HPSSWALK left, HPSSWALK right) => left.Value <= right.Value; + + public static bool operator >(HPSSWALK left, HPSSWALK right) => left.Value > right.Value; + + public static bool operator >=(HPSSWALK left, HPSSWALK right) => left.Value >= right.Value; + + public static explicit operator HPSSWALK(void* value) => new HPSSWALK(value); + + public static implicit operator void*(HPSSWALK value) => value.Value; + + public static explicit operator HPSSWALK(HANDLE value) => new HPSSWALK(value); + + public static implicit operator HANDLE(HPSSWALK value) => new HANDLE(value.Value); + + public static explicit operator HPSSWALK(byte value) => new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator byte(HPSSWALK value) => (byte)(value.Value); + + public static explicit operator HPSSWALK(short value) => + new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator short(HPSSWALK value) => (short)(value.Value); + + public static explicit operator HPSSWALK(int value) => new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator int(HPSSWALK value) => (int)(value.Value); + + public static explicit operator HPSSWALK(long value) => new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator long(HPSSWALK value) => (long)(value.Value); + + public static explicit operator HPSSWALK(nint value) => new HPSSWALK(unchecked((void*)(value))); + + public static implicit operator nint(HPSSWALK value) => (nint)(value.Value); + + public static explicit operator HPSSWALK(sbyte value) => + new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator sbyte(HPSSWALK value) => (sbyte)(value.Value); + + public static explicit operator HPSSWALK(ushort value) => + new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator ushort(HPSSWALK value) => (ushort)(value.Value); + + public static explicit operator HPSSWALK(uint value) => new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator uint(HPSSWALK value) => (uint)(value.Value); + + public static explicit operator HPSSWALK(ulong value) => + new HPSSWALK(unchecked((void*)(value))); + + public static explicit operator ulong(HPSSWALK value) => (ulong)(value.Value); + + public static explicit operator HPSSWALK(nuint value) => + new HPSSWALK(unchecked((void*)(value))); + + public static implicit operator nuint(HPSSWALK value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPSSWALK other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HPSSWALK."); + } + + public int CompareTo(HPSSWALK other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPSSWALK other) && Equals(other); + + public bool Equals(HPSSWALK other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HPSXA.gen.cs b/sources/Windows/Windows/other/helper-types/HPSXA.gen.cs new file mode 100644 index 0000000000..d4618b06ab --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HPSXA.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HPSXA + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HPSXA(void* value) + { + Value = value; + } + + public static HPSXA INVALID_VALUE => new HPSXA((void*)(-1)); + public static HPSXA NULL => new HPSXA(null); + + public static bool operator ==(HPSXA left, HPSXA right) => left.Value == right.Value; + + public static bool operator !=(HPSXA left, HPSXA right) => left.Value != right.Value; + + public static bool operator <(HPSXA left, HPSXA right) => left.Value < right.Value; + + public static bool operator <=(HPSXA left, HPSXA right) => left.Value <= right.Value; + + public static bool operator >(HPSXA left, HPSXA right) => left.Value > right.Value; + + public static bool operator >=(HPSXA left, HPSXA right) => left.Value >= right.Value; + + public static explicit operator HPSXA(void* value) => new HPSXA(value); + + public static implicit operator void*(HPSXA value) => value.Value; + + public static explicit operator HPSXA(HANDLE value) => new HPSXA(value); + + public static implicit operator HANDLE(HPSXA value) => new HANDLE(value.Value); + + public static explicit operator HPSXA(byte value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator byte(HPSXA value) => (byte)(value.Value); + + public static explicit operator HPSXA(short value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator short(HPSXA value) => (short)(value.Value); + + public static explicit operator HPSXA(int value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator int(HPSXA value) => (int)(value.Value); + + public static explicit operator HPSXA(long value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator long(HPSXA value) => (long)(value.Value); + + public static explicit operator HPSXA(nint value) => new HPSXA(unchecked((void*)(value))); + + public static implicit operator nint(HPSXA value) => (nint)(value.Value); + + public static explicit operator HPSXA(sbyte value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator sbyte(HPSXA value) => (sbyte)(value.Value); + + public static explicit operator HPSXA(ushort value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator ushort(HPSXA value) => (ushort)(value.Value); + + public static explicit operator HPSXA(uint value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator uint(HPSXA value) => (uint)(value.Value); + + public static explicit operator HPSXA(ulong value) => new HPSXA(unchecked((void*)(value))); + + public static explicit operator ulong(HPSXA value) => (ulong)(value.Value); + + public static explicit operator HPSXA(nuint value) => new HPSXA(unchecked((void*)(value))); + + public static implicit operator nuint(HPSXA value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HPSXA other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HPSXA."); + } + + public int CompareTo(HPSXA other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HPSXA other) && Equals(other); + + public bool Equals(HPSXA other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HRAWINPUT.gen.cs b/sources/Windows/Windows/other/helper-types/HRAWINPUT.gen.cs new file mode 100644 index 0000000000..0e8aafad88 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HRAWINPUT.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HRAWINPUT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HRAWINPUT(void* value) + { + Value = value; + } + + public static HRAWINPUT INVALID_VALUE => new HRAWINPUT((void*)(-1)); + public static HRAWINPUT NULL => new HRAWINPUT(null); + + public static bool operator ==(HRAWINPUT left, HRAWINPUT right) => left.Value == right.Value; + + public static bool operator !=(HRAWINPUT left, HRAWINPUT right) => left.Value != right.Value; + + public static bool operator <(HRAWINPUT left, HRAWINPUT right) => left.Value < right.Value; + + public static bool operator <=(HRAWINPUT left, HRAWINPUT right) => left.Value <= right.Value; + + public static bool operator >(HRAWINPUT left, HRAWINPUT right) => left.Value > right.Value; + + public static bool operator >=(HRAWINPUT left, HRAWINPUT right) => left.Value >= right.Value; + + public static explicit operator HRAWINPUT(void* value) => new HRAWINPUT(value); + + public static implicit operator void*(HRAWINPUT value) => value.Value; + + public static explicit operator HRAWINPUT(HANDLE value) => new HRAWINPUT(value); + + public static implicit operator HANDLE(HRAWINPUT value) => new HANDLE(value.Value); + + public static explicit operator HRAWINPUT(byte value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator byte(HRAWINPUT value) => (byte)(value.Value); + + public static explicit operator HRAWINPUT(short value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator short(HRAWINPUT value) => (short)(value.Value); + + public static explicit operator HRAWINPUT(int value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator int(HRAWINPUT value) => (int)(value.Value); + + public static explicit operator HRAWINPUT(long value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator long(HRAWINPUT value) => (long)(value.Value); + + public static explicit operator HRAWINPUT(nint value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static implicit operator nint(HRAWINPUT value) => (nint)(value.Value); + + public static explicit operator HRAWINPUT(sbyte value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator sbyte(HRAWINPUT value) => (sbyte)(value.Value); + + public static explicit operator HRAWINPUT(ushort value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator ushort(HRAWINPUT value) => (ushort)(value.Value); + + public static explicit operator HRAWINPUT(uint value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator uint(HRAWINPUT value) => (uint)(value.Value); + + public static explicit operator HRAWINPUT(ulong value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static explicit operator ulong(HRAWINPUT value) => (ulong)(value.Value); + + public static explicit operator HRAWINPUT(nuint value) => + new HRAWINPUT(unchecked((void*)(value))); + + public static implicit operator nuint(HRAWINPUT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HRAWINPUT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HRAWINPUT."); + } + + public int CompareTo(HRAWINPUT other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HRAWINPUT other) && Equals(other); + + public bool Equals(HRAWINPUT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HRESULT.gen.cs b/sources/Windows/Windows/other/helper-types/HRESULT.gen.cs new file mode 100644 index 0000000000..1d3dc2742b --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HRESULT.gen.cs @@ -0,0 +1,94 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HRESULT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly int Value; + + public HRESULT(int value) + { + Value = value; + } + + public static bool operator ==(HRESULT left, HRESULT right) => left.Value == right.Value; + + public static bool operator !=(HRESULT left, HRESULT right) => left.Value != right.Value; + + public static bool operator <(HRESULT left, HRESULT right) => left.Value < right.Value; + + public static bool operator <=(HRESULT left, HRESULT right) => left.Value <= right.Value; + + public static bool operator >(HRESULT left, HRESULT right) => left.Value > right.Value; + + public static bool operator >=(HRESULT left, HRESULT right) => left.Value >= right.Value; + + public static implicit operator HRESULT(byte value) => new HRESULT(value); + + public static explicit operator byte(HRESULT value) => (byte)(value.Value); + + public static implicit operator HRESULT(short value) => new HRESULT(value); + + public static explicit operator short(HRESULT value) => (short)(value.Value); + + public static implicit operator HRESULT(int value) => new HRESULT(value); + + public static implicit operator int(HRESULT value) => value.Value; + + public static explicit operator HRESULT(long value) => new HRESULT(unchecked((int)(value))); + + public static implicit operator long(HRESULT value) => value.Value; + + public static explicit operator HRESULT(nint value) => new HRESULT(unchecked((int)(value))); + + public static implicit operator nint(HRESULT value) => value.Value; + + public static implicit operator HRESULT(sbyte value) => new HRESULT(value); + + public static explicit operator sbyte(HRESULT value) => (sbyte)(value.Value); + + public static implicit operator HRESULT(ushort value) => new HRESULT(value); + + public static explicit operator ushort(HRESULT value) => (ushort)(value.Value); + + public static explicit operator HRESULT(uint value) => new HRESULT(unchecked((int)(value))); + + public static explicit operator uint(HRESULT value) => (uint)(value.Value); + + public static explicit operator HRESULT(ulong value) => new HRESULT(unchecked((int)(value))); + + public static explicit operator ulong(HRESULT value) => (ulong)(value.Value); + + public static explicit operator HRESULT(nuint value) => new HRESULT(unchecked((int)(value))); + + public static explicit operator nuint(HRESULT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HRESULT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HRESULT."); + } + + public int CompareTo(HRESULT other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is HRESULT other) && Equals(other); + + public bool Equals(HRESULT other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString("X8"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HRGN.gen.cs b/sources/Windows/Windows/other/helper-types/HRGN.gen.cs new file mode 100644 index 0000000000..1f51dd110b --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HRGN.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HRGN + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HRGN(void* value) + { + Value = value; + } + + public static HRGN INVALID_VALUE => new HRGN((void*)(-1)); + public static HRGN NULL => new HRGN(null); + + public static bool operator ==(HRGN left, HRGN right) => left.Value == right.Value; + + public static bool operator !=(HRGN left, HRGN right) => left.Value != right.Value; + + public static bool operator <(HRGN left, HRGN right) => left.Value < right.Value; + + public static bool operator <=(HRGN left, HRGN right) => left.Value <= right.Value; + + public static bool operator >(HRGN left, HRGN right) => left.Value > right.Value; + + public static bool operator >=(HRGN left, HRGN right) => left.Value >= right.Value; + + public static explicit operator HRGN(void* value) => new HRGN(value); + + public static implicit operator void*(HRGN value) => value.Value; + + public static explicit operator HRGN(HANDLE value) => new HRGN(value); + + public static implicit operator HANDLE(HRGN value) => new HANDLE(value.Value); + + public static explicit operator HRGN(byte value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator byte(HRGN value) => (byte)(value.Value); + + public static explicit operator HRGN(short value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator short(HRGN value) => (short)(value.Value); + + public static explicit operator HRGN(int value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator int(HRGN value) => (int)(value.Value); + + public static explicit operator HRGN(long value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator long(HRGN value) => (long)(value.Value); + + public static explicit operator HRGN(nint value) => new HRGN(unchecked((void*)(value))); + + public static implicit operator nint(HRGN value) => (nint)(value.Value); + + public static explicit operator HRGN(sbyte value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator sbyte(HRGN value) => (sbyte)(value.Value); + + public static explicit operator HRGN(ushort value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator ushort(HRGN value) => (ushort)(value.Value); + + public static explicit operator HRGN(uint value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator uint(HRGN value) => (uint)(value.Value); + + public static explicit operator HRGN(ulong value) => new HRGN(unchecked((void*)(value))); + + public static explicit operator ulong(HRGN value) => (ulong)(value.Value); + + public static explicit operator HRGN(nuint value) => new HRGN(unchecked((void*)(value))); + + public static implicit operator nuint(HRGN value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HRGN other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HRGN."); + } + + public int CompareTo(HRGN other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HRGN other) && Equals(other); + + public bool Equals(HRGN other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HRSRC.gen.cs b/sources/Windows/Windows/other/helper-types/HRSRC.gen.cs new file mode 100644 index 0000000000..ab81091a75 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HRSRC.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HRSRC + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HRSRC(void* value) + { + Value = value; + } + + public static HRSRC INVALID_VALUE => new HRSRC((void*)(-1)); + public static HRSRC NULL => new HRSRC(null); + + public static bool operator ==(HRSRC left, HRSRC right) => left.Value == right.Value; + + public static bool operator !=(HRSRC left, HRSRC right) => left.Value != right.Value; + + public static bool operator <(HRSRC left, HRSRC right) => left.Value < right.Value; + + public static bool operator <=(HRSRC left, HRSRC right) => left.Value <= right.Value; + + public static bool operator >(HRSRC left, HRSRC right) => left.Value > right.Value; + + public static bool operator >=(HRSRC left, HRSRC right) => left.Value >= right.Value; + + public static explicit operator HRSRC(void* value) => new HRSRC(value); + + public static implicit operator void*(HRSRC value) => value.Value; + + public static explicit operator HRSRC(HANDLE value) => new HRSRC(value); + + public static implicit operator HANDLE(HRSRC value) => new HANDLE(value.Value); + + public static explicit operator HRSRC(byte value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator byte(HRSRC value) => (byte)(value.Value); + + public static explicit operator HRSRC(short value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator short(HRSRC value) => (short)(value.Value); + + public static explicit operator HRSRC(int value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator int(HRSRC value) => (int)(value.Value); + + public static explicit operator HRSRC(long value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator long(HRSRC value) => (long)(value.Value); + + public static explicit operator HRSRC(nint value) => new HRSRC(unchecked((void*)(value))); + + public static implicit operator nint(HRSRC value) => (nint)(value.Value); + + public static explicit operator HRSRC(sbyte value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator sbyte(HRSRC value) => (sbyte)(value.Value); + + public static explicit operator HRSRC(ushort value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator ushort(HRSRC value) => (ushort)(value.Value); + + public static explicit operator HRSRC(uint value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator uint(HRSRC value) => (uint)(value.Value); + + public static explicit operator HRSRC(ulong value) => new HRSRC(unchecked((void*)(value))); + + public static explicit operator ulong(HRSRC value) => (ulong)(value.Value); + + public static explicit operator HRSRC(nuint value) => new HRSRC(unchecked((void*)(value))); + + public static implicit operator nuint(HRSRC value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HRSRC other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HRSRC."); + } + + public int CompareTo(HRSRC other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HRSRC other) && Equals(other); + + public bool Equals(HRSRC other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HSEMAPHORE.gen.cs b/sources/Windows/Windows/other/helper-types/HSEMAPHORE.gen.cs new file mode 100644 index 0000000000..5301b45d15 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HSEMAPHORE.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HSEMAPHORE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HSEMAPHORE(void* value) + { + Value = value; + } + + public static HSEMAPHORE INVALID_VALUE => new HSEMAPHORE((void*)(-1)); + public static HSEMAPHORE NULL => new HSEMAPHORE(null); + + public static bool operator ==(HSEMAPHORE left, HSEMAPHORE right) => left.Value == right.Value; + + public static bool operator !=(HSEMAPHORE left, HSEMAPHORE right) => left.Value != right.Value; + + public static bool operator <(HSEMAPHORE left, HSEMAPHORE right) => left.Value < right.Value; + + public static bool operator <=(HSEMAPHORE left, HSEMAPHORE right) => left.Value <= right.Value; + + public static bool operator >(HSEMAPHORE left, HSEMAPHORE right) => left.Value > right.Value; + + public static bool operator >=(HSEMAPHORE left, HSEMAPHORE right) => left.Value >= right.Value; + + public static explicit operator HSEMAPHORE(void* value) => new HSEMAPHORE(value); + + public static implicit operator void*(HSEMAPHORE value) => value.Value; + + public static explicit operator HSEMAPHORE(HANDLE value) => new HSEMAPHORE(value); + + public static implicit operator HANDLE(HSEMAPHORE value) => new HANDLE(value.Value); + + public static explicit operator HSEMAPHORE(byte value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator byte(HSEMAPHORE value) => (byte)(value.Value); + + public static explicit operator HSEMAPHORE(short value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator short(HSEMAPHORE value) => (short)(value.Value); + + public static explicit operator HSEMAPHORE(int value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator int(HSEMAPHORE value) => (int)(value.Value); + + public static explicit operator HSEMAPHORE(long value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator long(HSEMAPHORE value) => (long)(value.Value); + + public static explicit operator HSEMAPHORE(nint value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static implicit operator nint(HSEMAPHORE value) => (nint)(value.Value); + + public static explicit operator HSEMAPHORE(sbyte value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator sbyte(HSEMAPHORE value) => (sbyte)(value.Value); + + public static explicit operator HSEMAPHORE(ushort value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator ushort(HSEMAPHORE value) => (ushort)(value.Value); + + public static explicit operator HSEMAPHORE(uint value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator uint(HSEMAPHORE value) => (uint)(value.Value); + + public static explicit operator HSEMAPHORE(ulong value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static explicit operator ulong(HSEMAPHORE value) => (ulong)(value.Value); + + public static explicit operator HSEMAPHORE(nuint value) => + new HSEMAPHORE(unchecked((void*)(value))); + + public static implicit operator nuint(HSEMAPHORE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HSEMAPHORE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HSEMAPHORE."); + } + + public int CompareTo(HSEMAPHORE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HSEMAPHORE other) && Equals(other); + + public bool Equals(HSEMAPHORE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HSPFILELOG.gen.cs b/sources/Windows/Windows/other/helper-types/HSPFILELOG.gen.cs new file mode 100644 index 0000000000..87c5353bdc --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HSPFILELOG.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HSPFILELOG + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HSPFILELOG(void* value) + { + Value = value; + } + + public static HSPFILELOG INVALID_VALUE => new HSPFILELOG((void*)(-1)); + public static HSPFILELOG NULL => new HSPFILELOG(null); + + public static bool operator ==(HSPFILELOG left, HSPFILELOG right) => left.Value == right.Value; + + public static bool operator !=(HSPFILELOG left, HSPFILELOG right) => left.Value != right.Value; + + public static bool operator <(HSPFILELOG left, HSPFILELOG right) => left.Value < right.Value; + + public static bool operator <=(HSPFILELOG left, HSPFILELOG right) => left.Value <= right.Value; + + public static bool operator >(HSPFILELOG left, HSPFILELOG right) => left.Value > right.Value; + + public static bool operator >=(HSPFILELOG left, HSPFILELOG right) => left.Value >= right.Value; + + public static explicit operator HSPFILELOG(void* value) => new HSPFILELOG(value); + + public static implicit operator void*(HSPFILELOG value) => value.Value; + + public static explicit operator HSPFILELOG(HANDLE value) => new HSPFILELOG(value); + + public static implicit operator HANDLE(HSPFILELOG value) => new HANDLE(value.Value); + + public static explicit operator HSPFILELOG(byte value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator byte(HSPFILELOG value) => (byte)(value.Value); + + public static explicit operator HSPFILELOG(short value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator short(HSPFILELOG value) => (short)(value.Value); + + public static explicit operator HSPFILELOG(int value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator int(HSPFILELOG value) => (int)(value.Value); + + public static explicit operator HSPFILELOG(long value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator long(HSPFILELOG value) => (long)(value.Value); + + public static explicit operator HSPFILELOG(nint value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static implicit operator nint(HSPFILELOG value) => (nint)(value.Value); + + public static explicit operator HSPFILELOG(sbyte value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator sbyte(HSPFILELOG value) => (sbyte)(value.Value); + + public static explicit operator HSPFILELOG(ushort value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator ushort(HSPFILELOG value) => (ushort)(value.Value); + + public static explicit operator HSPFILELOG(uint value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator uint(HSPFILELOG value) => (uint)(value.Value); + + public static explicit operator HSPFILELOG(ulong value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static explicit operator ulong(HSPFILELOG value) => (ulong)(value.Value); + + public static explicit operator HSPFILELOG(nuint value) => + new HSPFILELOG(unchecked((void*)(value))); + + public static implicit operator nuint(HSPFILELOG value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HSPFILELOG other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HSPFILELOG."); + } + + public int CompareTo(HSPFILELOG other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HSPFILELOG other) && Equals(other); + + public bool Equals(HSPFILELOG other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HSPFILEQ.gen.cs b/sources/Windows/Windows/other/helper-types/HSPFILEQ.gen.cs new file mode 100644 index 0000000000..8d483d3a08 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HSPFILEQ.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HSPFILEQ + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HSPFILEQ(void* value) + { + Value = value; + } + + public static HSPFILEQ INVALID_VALUE => new HSPFILEQ((void*)(-1)); + public static HSPFILEQ NULL => new HSPFILEQ(null); + + public static bool operator ==(HSPFILEQ left, HSPFILEQ right) => left.Value == right.Value; + + public static bool operator !=(HSPFILEQ left, HSPFILEQ right) => left.Value != right.Value; + + public static bool operator <(HSPFILEQ left, HSPFILEQ right) => left.Value < right.Value; + + public static bool operator <=(HSPFILEQ left, HSPFILEQ right) => left.Value <= right.Value; + + public static bool operator >(HSPFILEQ left, HSPFILEQ right) => left.Value > right.Value; + + public static bool operator >=(HSPFILEQ left, HSPFILEQ right) => left.Value >= right.Value; + + public static explicit operator HSPFILEQ(void* value) => new HSPFILEQ(value); + + public static implicit operator void*(HSPFILEQ value) => value.Value; + + public static explicit operator HSPFILEQ(HANDLE value) => new HSPFILEQ(value); + + public static implicit operator HANDLE(HSPFILEQ value) => new HANDLE(value.Value); + + public static explicit operator HSPFILEQ(byte value) => new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator byte(HSPFILEQ value) => (byte)(value.Value); + + public static explicit operator HSPFILEQ(short value) => + new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator short(HSPFILEQ value) => (short)(value.Value); + + public static explicit operator HSPFILEQ(int value) => new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator int(HSPFILEQ value) => (int)(value.Value); + + public static explicit operator HSPFILEQ(long value) => new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator long(HSPFILEQ value) => (long)(value.Value); + + public static explicit operator HSPFILEQ(nint value) => new HSPFILEQ(unchecked((void*)(value))); + + public static implicit operator nint(HSPFILEQ value) => (nint)(value.Value); + + public static explicit operator HSPFILEQ(sbyte value) => + new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator sbyte(HSPFILEQ value) => (sbyte)(value.Value); + + public static explicit operator HSPFILEQ(ushort value) => + new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator ushort(HSPFILEQ value) => (ushort)(value.Value); + + public static explicit operator HSPFILEQ(uint value) => new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator uint(HSPFILEQ value) => (uint)(value.Value); + + public static explicit operator HSPFILEQ(ulong value) => + new HSPFILEQ(unchecked((void*)(value))); + + public static explicit operator ulong(HSPFILEQ value) => (ulong)(value.Value); + + public static explicit operator HSPFILEQ(nuint value) => + new HSPFILEQ(unchecked((void*)(value))); + + public static implicit operator nuint(HSPFILEQ value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HSPFILEQ other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HSPFILEQ."); + } + + public int CompareTo(HSPFILEQ other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HSPFILEQ other) && Equals(other); + + public bool Equals(HSPFILEQ other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HSTRING.gen.cs b/sources/Windows/Windows/other/helper-types/HSTRING.gen.cs new file mode 100644 index 0000000000..e1e2d11ad5 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HSTRING.gen.cs @@ -0,0 +1,107 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; +using Silk.NET.Windows; + +namespace Silk.NET.WinRT; + +public readonly unsafe partial struct HSTRING + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HSTRING(void* value) + { + Value = value; + } + + public static HSTRING INVALID_VALUE => new HSTRING((void*)(-1)); + public static HSTRING NULL => new HSTRING(null); + + public static bool operator ==(HSTRING left, HSTRING right) => left.Value == right.Value; + + public static bool operator !=(HSTRING left, HSTRING right) => left.Value != right.Value; + + public static bool operator <(HSTRING left, HSTRING right) => left.Value < right.Value; + + public static bool operator <=(HSTRING left, HSTRING right) => left.Value <= right.Value; + + public static bool operator >(HSTRING left, HSTRING right) => left.Value > right.Value; + + public static bool operator >=(HSTRING left, HSTRING right) => left.Value >= right.Value; + + public static explicit operator HSTRING(void* value) => new HSTRING(value); + + public static implicit operator void*(HSTRING value) => value.Value; + + public static explicit operator HSTRING(HANDLE value) => new HSTRING(value); + + public static implicit operator HANDLE(HSTRING value) => new HANDLE(value.Value); + + public static explicit operator HSTRING(byte value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator byte(HSTRING value) => (byte)(value.Value); + + public static explicit operator HSTRING(short value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator short(HSTRING value) => (short)(value.Value); + + public static explicit operator HSTRING(int value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator int(HSTRING value) => (int)(value.Value); + + public static explicit operator HSTRING(long value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator long(HSTRING value) => (long)(value.Value); + + public static explicit operator HSTRING(nint value) => new HSTRING(unchecked((void*)(value))); + + public static implicit operator nint(HSTRING value) => (nint)(value.Value); + + public static explicit operator HSTRING(sbyte value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator sbyte(HSTRING value) => (sbyte)(value.Value); + + public static explicit operator HSTRING(ushort value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator ushort(HSTRING value) => (ushort)(value.Value); + + public static explicit operator HSTRING(uint value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator uint(HSTRING value) => (uint)(value.Value); + + public static explicit operator HSTRING(ulong value) => new HSTRING(unchecked((void*)(value))); + + public static explicit operator ulong(HSTRING value) => (ulong)(value.Value); + + public static explicit operator HSTRING(nuint value) => new HSTRING(unchecked((void*)(value))); + + public static implicit operator nuint(HSTRING value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HSTRING other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HSTRING."); + } + + public int CompareTo(HSTRING other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HSTRING other) && Equals(other); + + public bool Equals(HSTRING other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HSTRING_BUFFER.gen.cs b/sources/Windows/Windows/other/helper-types/HSTRING_BUFFER.gen.cs new file mode 100644 index 0000000000..b12280321d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HSTRING_BUFFER.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; +using Silk.NET.Windows; + +namespace Silk.NET.WinRT; + +public readonly unsafe partial struct HSTRING_BUFFER + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HSTRING_BUFFER(void* value) + { + Value = value; + } + + public static HSTRING_BUFFER INVALID_VALUE => new HSTRING_BUFFER((void*)(-1)); + public static HSTRING_BUFFER NULL => new HSTRING_BUFFER(null); + + public static bool operator ==(HSTRING_BUFFER left, HSTRING_BUFFER right) => + left.Value == right.Value; + + public static bool operator !=(HSTRING_BUFFER left, HSTRING_BUFFER right) => + left.Value != right.Value; + + public static bool operator <(HSTRING_BUFFER left, HSTRING_BUFFER right) => + left.Value < right.Value; + + public static bool operator <=(HSTRING_BUFFER left, HSTRING_BUFFER right) => + left.Value <= right.Value; + + public static bool operator >(HSTRING_BUFFER left, HSTRING_BUFFER right) => + left.Value > right.Value; + + public static bool operator >=(HSTRING_BUFFER left, HSTRING_BUFFER right) => + left.Value >= right.Value; + + public static explicit operator HSTRING_BUFFER(void* value) => new HSTRING_BUFFER(value); + + public static implicit operator void*(HSTRING_BUFFER value) => value.Value; + + public static explicit operator HSTRING_BUFFER(HANDLE value) => new HSTRING_BUFFER(value); + + public static implicit operator HANDLE(HSTRING_BUFFER value) => new HANDLE(value.Value); + + public static explicit operator HSTRING_BUFFER(byte value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator byte(HSTRING_BUFFER value) => (byte)(value.Value); + + public static explicit operator HSTRING_BUFFER(short value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator short(HSTRING_BUFFER value) => (short)(value.Value); + + public static explicit operator HSTRING_BUFFER(int value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator int(HSTRING_BUFFER value) => (int)(value.Value); + + public static explicit operator HSTRING_BUFFER(long value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator long(HSTRING_BUFFER value) => (long)(value.Value); + + public static explicit operator HSTRING_BUFFER(nint value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static implicit operator nint(HSTRING_BUFFER value) => (nint)(value.Value); + + public static explicit operator HSTRING_BUFFER(sbyte value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator sbyte(HSTRING_BUFFER value) => (sbyte)(value.Value); + + public static explicit operator HSTRING_BUFFER(ushort value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator ushort(HSTRING_BUFFER value) => (ushort)(value.Value); + + public static explicit operator HSTRING_BUFFER(uint value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator uint(HSTRING_BUFFER value) => (uint)(value.Value); + + public static explicit operator HSTRING_BUFFER(ulong value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static explicit operator ulong(HSTRING_BUFFER value) => (ulong)(value.Value); + + public static explicit operator HSTRING_BUFFER(nuint value) => + new HSTRING_BUFFER(unchecked((void*)(value))); + + public static implicit operator nuint(HSTRING_BUFFER value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HSTRING_BUFFER other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HSTRING_BUFFER."); + } + + public int CompareTo(HSTRING_BUFFER other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HSTRING_BUFFER other) && Equals(other); + + public bool Equals(HSTRING_BUFFER other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HSWDEVICE.gen.cs b/sources/Windows/Windows/other/helper-types/HSWDEVICE.gen.cs new file mode 100644 index 0000000000..52cb3af80e --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HSWDEVICE.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HSWDEVICE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HSWDEVICE(void* value) + { + Value = value; + } + + public static HSWDEVICE INVALID_VALUE => new HSWDEVICE((void*)(-1)); + public static HSWDEVICE NULL => new HSWDEVICE(null); + + public static bool operator ==(HSWDEVICE left, HSWDEVICE right) => left.Value == right.Value; + + public static bool operator !=(HSWDEVICE left, HSWDEVICE right) => left.Value != right.Value; + + public static bool operator <(HSWDEVICE left, HSWDEVICE right) => left.Value < right.Value; + + public static bool operator <=(HSWDEVICE left, HSWDEVICE right) => left.Value <= right.Value; + + public static bool operator >(HSWDEVICE left, HSWDEVICE right) => left.Value > right.Value; + + public static bool operator >=(HSWDEVICE left, HSWDEVICE right) => left.Value >= right.Value; + + public static explicit operator HSWDEVICE(void* value) => new HSWDEVICE(value); + + public static implicit operator void*(HSWDEVICE value) => value.Value; + + public static explicit operator HSWDEVICE(HANDLE value) => new HSWDEVICE(value); + + public static implicit operator HANDLE(HSWDEVICE value) => new HANDLE(value.Value); + + public static explicit operator HSWDEVICE(byte value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator byte(HSWDEVICE value) => (byte)(value.Value); + + public static explicit operator HSWDEVICE(short value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator short(HSWDEVICE value) => (short)(value.Value); + + public static explicit operator HSWDEVICE(int value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator int(HSWDEVICE value) => (int)(value.Value); + + public static explicit operator HSWDEVICE(long value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator long(HSWDEVICE value) => (long)(value.Value); + + public static explicit operator HSWDEVICE(nint value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static implicit operator nint(HSWDEVICE value) => (nint)(value.Value); + + public static explicit operator HSWDEVICE(sbyte value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator sbyte(HSWDEVICE value) => (sbyte)(value.Value); + + public static explicit operator HSWDEVICE(ushort value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator ushort(HSWDEVICE value) => (ushort)(value.Value); + + public static explicit operator HSWDEVICE(uint value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator uint(HSWDEVICE value) => (uint)(value.Value); + + public static explicit operator HSWDEVICE(ulong value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static explicit operator ulong(HSWDEVICE value) => (ulong)(value.Value); + + public static explicit operator HSWDEVICE(nuint value) => + new HSWDEVICE(unchecked((void*)(value))); + + public static implicit operator nuint(HSWDEVICE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HSWDEVICE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HSWDEVICE."); + } + + public int CompareTo(HSWDEVICE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HSWDEVICE other) && Equals(other); + + public bool Equals(HSWDEVICE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HSYNTHETICPOINTERDEVICE.gen.cs b/sources/Windows/Windows/other/helper-types/HSYNTHETICPOINTERDEVICE.gen.cs new file mode 100644 index 0000000000..d3feea2743 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HSYNTHETICPOINTERDEVICE.gen.cs @@ -0,0 +1,128 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HSYNTHETICPOINTERDEVICE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HSYNTHETICPOINTERDEVICE(void* value) + { + Value = value; + } + + public static HSYNTHETICPOINTERDEVICE INVALID_VALUE => new HSYNTHETICPOINTERDEVICE((void*)(-1)); + public static HSYNTHETICPOINTERDEVICE NULL => new HSYNTHETICPOINTERDEVICE(null); + + public static bool operator ==(HSYNTHETICPOINTERDEVICE left, HSYNTHETICPOINTERDEVICE right) => + left.Value == right.Value; + + public static bool operator !=(HSYNTHETICPOINTERDEVICE left, HSYNTHETICPOINTERDEVICE right) => + left.Value != right.Value; + + public static bool operator <(HSYNTHETICPOINTERDEVICE left, HSYNTHETICPOINTERDEVICE right) => + left.Value < right.Value; + + public static bool operator <=(HSYNTHETICPOINTERDEVICE left, HSYNTHETICPOINTERDEVICE right) => + left.Value <= right.Value; + + public static bool operator >(HSYNTHETICPOINTERDEVICE left, HSYNTHETICPOINTERDEVICE right) => + left.Value > right.Value; + + public static bool operator >=(HSYNTHETICPOINTERDEVICE left, HSYNTHETICPOINTERDEVICE right) => + left.Value >= right.Value; + + public static explicit operator HSYNTHETICPOINTERDEVICE(void* value) => + new HSYNTHETICPOINTERDEVICE(value); + + public static implicit operator void*(HSYNTHETICPOINTERDEVICE value) => value.Value; + + public static explicit operator HSYNTHETICPOINTERDEVICE(HANDLE value) => + new HSYNTHETICPOINTERDEVICE(value); + + public static implicit operator HANDLE(HSYNTHETICPOINTERDEVICE value) => + new HANDLE(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(byte value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator byte(HSYNTHETICPOINTERDEVICE value) => (byte)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(short value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator short(HSYNTHETICPOINTERDEVICE value) => (short)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(int value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator int(HSYNTHETICPOINTERDEVICE value) => (int)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(long value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator long(HSYNTHETICPOINTERDEVICE value) => (long)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(nint value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static implicit operator nint(HSYNTHETICPOINTERDEVICE value) => (nint)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(sbyte value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator sbyte(HSYNTHETICPOINTERDEVICE value) => (sbyte)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(ushort value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator ushort(HSYNTHETICPOINTERDEVICE value) => (ushort)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(uint value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator uint(HSYNTHETICPOINTERDEVICE value) => (uint)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(ulong value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static explicit operator ulong(HSYNTHETICPOINTERDEVICE value) => (ulong)(value.Value); + + public static explicit operator HSYNTHETICPOINTERDEVICE(nuint value) => + new HSYNTHETICPOINTERDEVICE(unchecked((void*)(value))); + + public static implicit operator nuint(HSYNTHETICPOINTERDEVICE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HSYNTHETICPOINTERDEVICE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HSYNTHETICPOINTERDEVICE."); + } + + public int CompareTo(HSYNTHETICPOINTERDEVICE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is HSYNTHETICPOINTERDEVICE other) && Equals(other); + + public bool Equals(HSYNTHETICPOINTERDEVICE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HTASK.gen.cs b/sources/Windows/Windows/other/helper-types/HTASK.gen.cs new file mode 100644 index 0000000000..66b62bf41c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HTASK.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HTASK + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HTASK(void* value) + { + Value = value; + } + + public static HTASK INVALID_VALUE => new HTASK((void*)(-1)); + public static HTASK NULL => new HTASK(null); + + public static bool operator ==(HTASK left, HTASK right) => left.Value == right.Value; + + public static bool operator !=(HTASK left, HTASK right) => left.Value != right.Value; + + public static bool operator <(HTASK left, HTASK right) => left.Value < right.Value; + + public static bool operator <=(HTASK left, HTASK right) => left.Value <= right.Value; + + public static bool operator >(HTASK left, HTASK right) => left.Value > right.Value; + + public static bool operator >=(HTASK left, HTASK right) => left.Value >= right.Value; + + public static explicit operator HTASK(void* value) => new HTASK(value); + + public static implicit operator void*(HTASK value) => value.Value; + + public static explicit operator HTASK(HANDLE value) => new HTASK(value); + + public static implicit operator HANDLE(HTASK value) => new HANDLE(value.Value); + + public static explicit operator HTASK(byte value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator byte(HTASK value) => (byte)(value.Value); + + public static explicit operator HTASK(short value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator short(HTASK value) => (short)(value.Value); + + public static explicit operator HTASK(int value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator int(HTASK value) => (int)(value.Value); + + public static explicit operator HTASK(long value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator long(HTASK value) => (long)(value.Value); + + public static explicit operator HTASK(nint value) => new HTASK(unchecked((void*)(value))); + + public static implicit operator nint(HTASK value) => (nint)(value.Value); + + public static explicit operator HTASK(sbyte value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator sbyte(HTASK value) => (sbyte)(value.Value); + + public static explicit operator HTASK(ushort value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator ushort(HTASK value) => (ushort)(value.Value); + + public static explicit operator HTASK(uint value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator uint(HTASK value) => (uint)(value.Value); + + public static explicit operator HTASK(ulong value) => new HTASK(unchecked((void*)(value))); + + public static explicit operator ulong(HTASK value) => (ulong)(value.Value); + + public static explicit operator HTASK(nuint value) => new HTASK(unchecked((void*)(value))); + + public static implicit operator nuint(HTASK value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HTASK other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HTASK."); + } + + public int CompareTo(HTASK other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HTASK other) && Equals(other); + + public bool Equals(HTASK other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HTHEME.gen.cs b/sources/Windows/Windows/other/helper-types/HTHEME.gen.cs new file mode 100644 index 0000000000..ee3a53e047 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HTHEME.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HTHEME + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HTHEME(void* value) + { + Value = value; + } + + public static HTHEME INVALID_VALUE => new HTHEME((void*)(-1)); + public static HTHEME NULL => new HTHEME(null); + + public static bool operator ==(HTHEME left, HTHEME right) => left.Value == right.Value; + + public static bool operator !=(HTHEME left, HTHEME right) => left.Value != right.Value; + + public static bool operator <(HTHEME left, HTHEME right) => left.Value < right.Value; + + public static bool operator <=(HTHEME left, HTHEME right) => left.Value <= right.Value; + + public static bool operator >(HTHEME left, HTHEME right) => left.Value > right.Value; + + public static bool operator >=(HTHEME left, HTHEME right) => left.Value >= right.Value; + + public static explicit operator HTHEME(void* value) => new HTHEME(value); + + public static implicit operator void*(HTHEME value) => value.Value; + + public static explicit operator HTHEME(HANDLE value) => new HTHEME(value); + + public static implicit operator HANDLE(HTHEME value) => new HANDLE(value.Value); + + public static explicit operator HTHEME(byte value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator byte(HTHEME value) => (byte)(value.Value); + + public static explicit operator HTHEME(short value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator short(HTHEME value) => (short)(value.Value); + + public static explicit operator HTHEME(int value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator int(HTHEME value) => (int)(value.Value); + + public static explicit operator HTHEME(long value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator long(HTHEME value) => (long)(value.Value); + + public static explicit operator HTHEME(nint value) => new HTHEME(unchecked((void*)(value))); + + public static implicit operator nint(HTHEME value) => (nint)(value.Value); + + public static explicit operator HTHEME(sbyte value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator sbyte(HTHEME value) => (sbyte)(value.Value); + + public static explicit operator HTHEME(ushort value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator ushort(HTHEME value) => (ushort)(value.Value); + + public static explicit operator HTHEME(uint value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator uint(HTHEME value) => (uint)(value.Value); + + public static explicit operator HTHEME(ulong value) => new HTHEME(unchecked((void*)(value))); + + public static explicit operator ulong(HTHEME value) => (ulong)(value.Value); + + public static explicit operator HTHEME(nuint value) => new HTHEME(unchecked((void*)(value))); + + public static implicit operator nuint(HTHEME value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HTHEME other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HTHEME."); + } + + public int CompareTo(HTHEME other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HTHEME other) && Equals(other); + + public bool Equals(HTHEME other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HTHUMBNAIL.gen.cs b/sources/Windows/Windows/other/helper-types/HTHUMBNAIL.gen.cs new file mode 100644 index 0000000000..e430254fe5 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HTHUMBNAIL.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HTHUMBNAIL + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HTHUMBNAIL(void* value) + { + Value = value; + } + + public static HTHUMBNAIL INVALID_VALUE => new HTHUMBNAIL((void*)(-1)); + public static HTHUMBNAIL NULL => new HTHUMBNAIL(null); + + public static bool operator ==(HTHUMBNAIL left, HTHUMBNAIL right) => left.Value == right.Value; + + public static bool operator !=(HTHUMBNAIL left, HTHUMBNAIL right) => left.Value != right.Value; + + public static bool operator <(HTHUMBNAIL left, HTHUMBNAIL right) => left.Value < right.Value; + + public static bool operator <=(HTHUMBNAIL left, HTHUMBNAIL right) => left.Value <= right.Value; + + public static bool operator >(HTHUMBNAIL left, HTHUMBNAIL right) => left.Value > right.Value; + + public static bool operator >=(HTHUMBNAIL left, HTHUMBNAIL right) => left.Value >= right.Value; + + public static explicit operator HTHUMBNAIL(void* value) => new HTHUMBNAIL(value); + + public static implicit operator void*(HTHUMBNAIL value) => value.Value; + + public static explicit operator HTHUMBNAIL(HANDLE value) => new HTHUMBNAIL(value); + + public static implicit operator HANDLE(HTHUMBNAIL value) => new HANDLE(value.Value); + + public static explicit operator HTHUMBNAIL(byte value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator byte(HTHUMBNAIL value) => (byte)(value.Value); + + public static explicit operator HTHUMBNAIL(short value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator short(HTHUMBNAIL value) => (short)(value.Value); + + public static explicit operator HTHUMBNAIL(int value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator int(HTHUMBNAIL value) => (int)(value.Value); + + public static explicit operator HTHUMBNAIL(long value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator long(HTHUMBNAIL value) => (long)(value.Value); + + public static explicit operator HTHUMBNAIL(nint value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static implicit operator nint(HTHUMBNAIL value) => (nint)(value.Value); + + public static explicit operator HTHUMBNAIL(sbyte value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator sbyte(HTHUMBNAIL value) => (sbyte)(value.Value); + + public static explicit operator HTHUMBNAIL(ushort value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator ushort(HTHUMBNAIL value) => (ushort)(value.Value); + + public static explicit operator HTHUMBNAIL(uint value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator uint(HTHUMBNAIL value) => (uint)(value.Value); + + public static explicit operator HTHUMBNAIL(ulong value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static explicit operator ulong(HTHUMBNAIL value) => (ulong)(value.Value); + + public static explicit operator HTHUMBNAIL(nuint value) => + new HTHUMBNAIL(unchecked((void*)(value))); + + public static implicit operator nuint(HTHUMBNAIL value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HTHUMBNAIL other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HTHUMBNAIL."); + } + + public int CompareTo(HTHUMBNAIL other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HTHUMBNAIL other) && Equals(other); + + public bool Equals(HTHUMBNAIL other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HTOUCHINPUT.gen.cs b/sources/Windows/Windows/other/helper-types/HTOUCHINPUT.gen.cs new file mode 100644 index 0000000000..3808870728 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HTOUCHINPUT.gen.cs @@ -0,0 +1,120 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HTOUCHINPUT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HTOUCHINPUT(void* value) + { + Value = value; + } + + public static HTOUCHINPUT INVALID_VALUE => new HTOUCHINPUT((void*)(-1)); + public static HTOUCHINPUT NULL => new HTOUCHINPUT(null); + + public static bool operator ==(HTOUCHINPUT left, HTOUCHINPUT right) => + left.Value == right.Value; + + public static bool operator !=(HTOUCHINPUT left, HTOUCHINPUT right) => + left.Value != right.Value; + + public static bool operator <(HTOUCHINPUT left, HTOUCHINPUT right) => left.Value < right.Value; + + public static bool operator <=(HTOUCHINPUT left, HTOUCHINPUT right) => + left.Value <= right.Value; + + public static bool operator >(HTOUCHINPUT left, HTOUCHINPUT right) => left.Value > right.Value; + + public static bool operator >=(HTOUCHINPUT left, HTOUCHINPUT right) => + left.Value >= right.Value; + + public static explicit operator HTOUCHINPUT(void* value) => new HTOUCHINPUT(value); + + public static implicit operator void*(HTOUCHINPUT value) => value.Value; + + public static explicit operator HTOUCHINPUT(HANDLE value) => new HTOUCHINPUT(value); + + public static implicit operator HANDLE(HTOUCHINPUT value) => new HANDLE(value.Value); + + public static explicit operator HTOUCHINPUT(byte value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator byte(HTOUCHINPUT value) => (byte)(value.Value); + + public static explicit operator HTOUCHINPUT(short value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator short(HTOUCHINPUT value) => (short)(value.Value); + + public static explicit operator HTOUCHINPUT(int value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator int(HTOUCHINPUT value) => (int)(value.Value); + + public static explicit operator HTOUCHINPUT(long value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator long(HTOUCHINPUT value) => (long)(value.Value); + + public static explicit operator HTOUCHINPUT(nint value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static implicit operator nint(HTOUCHINPUT value) => (nint)(value.Value); + + public static explicit operator HTOUCHINPUT(sbyte value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator sbyte(HTOUCHINPUT value) => (sbyte)(value.Value); + + public static explicit operator HTOUCHINPUT(ushort value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator ushort(HTOUCHINPUT value) => (ushort)(value.Value); + + public static explicit operator HTOUCHINPUT(uint value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator uint(HTOUCHINPUT value) => (uint)(value.Value); + + public static explicit operator HTOUCHINPUT(ulong value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static explicit operator ulong(HTOUCHINPUT value) => (ulong)(value.Value); + + public static explicit operator HTOUCHINPUT(nuint value) => + new HTOUCHINPUT(unchecked((void*)(value))); + + public static implicit operator nuint(HTOUCHINPUT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HTOUCHINPUT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HTOUCHINPUT."); + } + + public int CompareTo(HTOUCHINPUT other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HTOUCHINPUT other) && Equals(other); + + public bool Equals(HTOUCHINPUT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HTRANSFORM.gen.cs b/sources/Windows/Windows/other/helper-types/HTRANSFORM.gen.cs new file mode 100644 index 0000000000..deb60bd8de --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HTRANSFORM.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HTRANSFORM + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HTRANSFORM(void* value) + { + Value = value; + } + + public static HTRANSFORM INVALID_VALUE => new HTRANSFORM((void*)(-1)); + public static HTRANSFORM NULL => new HTRANSFORM(null); + + public static bool operator ==(HTRANSFORM left, HTRANSFORM right) => left.Value == right.Value; + + public static bool operator !=(HTRANSFORM left, HTRANSFORM right) => left.Value != right.Value; + + public static bool operator <(HTRANSFORM left, HTRANSFORM right) => left.Value < right.Value; + + public static bool operator <=(HTRANSFORM left, HTRANSFORM right) => left.Value <= right.Value; + + public static bool operator >(HTRANSFORM left, HTRANSFORM right) => left.Value > right.Value; + + public static bool operator >=(HTRANSFORM left, HTRANSFORM right) => left.Value >= right.Value; + + public static explicit operator HTRANSFORM(void* value) => new HTRANSFORM(value); + + public static implicit operator void*(HTRANSFORM value) => value.Value; + + public static explicit operator HTRANSFORM(HANDLE value) => new HTRANSFORM(value); + + public static implicit operator HANDLE(HTRANSFORM value) => new HANDLE(value.Value); + + public static explicit operator HTRANSFORM(byte value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator byte(HTRANSFORM value) => (byte)(value.Value); + + public static explicit operator HTRANSFORM(short value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator short(HTRANSFORM value) => (short)(value.Value); + + public static explicit operator HTRANSFORM(int value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator int(HTRANSFORM value) => (int)(value.Value); + + public static explicit operator HTRANSFORM(long value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator long(HTRANSFORM value) => (long)(value.Value); + + public static explicit operator HTRANSFORM(nint value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static implicit operator nint(HTRANSFORM value) => (nint)(value.Value); + + public static explicit operator HTRANSFORM(sbyte value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator sbyte(HTRANSFORM value) => (sbyte)(value.Value); + + public static explicit operator HTRANSFORM(ushort value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator ushort(HTRANSFORM value) => (ushort)(value.Value); + + public static explicit operator HTRANSFORM(uint value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator uint(HTRANSFORM value) => (uint)(value.Value); + + public static explicit operator HTRANSFORM(ulong value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static explicit operator ulong(HTRANSFORM value) => (ulong)(value.Value); + + public static explicit operator HTRANSFORM(nuint value) => + new HTRANSFORM(unchecked((void*)(value))); + + public static implicit operator nuint(HTRANSFORM value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HTRANSFORM other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HTRANSFORM."); + } + + public int CompareTo(HTRANSFORM other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HTRANSFORM other) && Equals(other); + + public bool Equals(HTRANSFORM other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HTREEITEM.gen.cs b/sources/Windows/Windows/other/helper-types/HTREEITEM.gen.cs new file mode 100644 index 0000000000..bc2bdecb4d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HTREEITEM.gen.cs @@ -0,0 +1,116 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HTREEITEM + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HTREEITEM(void* value) + { + Value = value; + } + + public static HTREEITEM INVALID_VALUE => new HTREEITEM((void*)(-1)); + public static HTREEITEM NULL => new HTREEITEM(null); + + public static bool operator ==(HTREEITEM left, HTREEITEM right) => left.Value == right.Value; + + public static bool operator !=(HTREEITEM left, HTREEITEM right) => left.Value != right.Value; + + public static bool operator <(HTREEITEM left, HTREEITEM right) => left.Value < right.Value; + + public static bool operator <=(HTREEITEM left, HTREEITEM right) => left.Value <= right.Value; + + public static bool operator >(HTREEITEM left, HTREEITEM right) => left.Value > right.Value; + + public static bool operator >=(HTREEITEM left, HTREEITEM right) => left.Value >= right.Value; + + public static explicit operator HTREEITEM(void* value) => new HTREEITEM(value); + + public static implicit operator void*(HTREEITEM value) => value.Value; + + public static explicit operator HTREEITEM(HANDLE value) => new HTREEITEM(value); + + public static implicit operator HANDLE(HTREEITEM value) => new HANDLE(value.Value); + + public static explicit operator HTREEITEM(byte value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator byte(HTREEITEM value) => (byte)(value.Value); + + public static explicit operator HTREEITEM(short value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator short(HTREEITEM value) => (short)(value.Value); + + public static explicit operator HTREEITEM(int value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator int(HTREEITEM value) => (int)(value.Value); + + public static explicit operator HTREEITEM(long value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator long(HTREEITEM value) => (long)(value.Value); + + public static explicit operator HTREEITEM(nint value) => + new HTREEITEM(unchecked((void*)(value))); + + public static implicit operator nint(HTREEITEM value) => (nint)(value.Value); + + public static explicit operator HTREEITEM(sbyte value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator sbyte(HTREEITEM value) => (sbyte)(value.Value); + + public static explicit operator HTREEITEM(ushort value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator ushort(HTREEITEM value) => (ushort)(value.Value); + + public static explicit operator HTREEITEM(uint value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator uint(HTREEITEM value) => (uint)(value.Value); + + public static explicit operator HTREEITEM(ulong value) => + new HTREEITEM(unchecked((void*)(value))); + + public static explicit operator ulong(HTREEITEM value) => (ulong)(value.Value); + + public static explicit operator HTREEITEM(nuint value) => + new HTREEITEM(unchecked((void*)(value))); + + public static implicit operator nuint(HTREEITEM value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HTREEITEM other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HTREEITEM."); + } + + public int CompareTo(HTREEITEM other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HTREEITEM other) && Equals(other); + + public bool Equals(HTREEITEM other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HUSKEY.gen.cs b/sources/Windows/Windows/other/helper-types/HUSKEY.gen.cs new file mode 100644 index 0000000000..7f6260e663 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HUSKEY.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HUSKEY + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HUSKEY(void* value) + { + Value = value; + } + + public static HUSKEY INVALID_VALUE => new HUSKEY((void*)(-1)); + public static HUSKEY NULL => new HUSKEY(null); + + public static bool operator ==(HUSKEY left, HUSKEY right) => left.Value == right.Value; + + public static bool operator !=(HUSKEY left, HUSKEY right) => left.Value != right.Value; + + public static bool operator <(HUSKEY left, HUSKEY right) => left.Value < right.Value; + + public static bool operator <=(HUSKEY left, HUSKEY right) => left.Value <= right.Value; + + public static bool operator >(HUSKEY left, HUSKEY right) => left.Value > right.Value; + + public static bool operator >=(HUSKEY left, HUSKEY right) => left.Value >= right.Value; + + public static explicit operator HUSKEY(void* value) => new HUSKEY(value); + + public static implicit operator void*(HUSKEY value) => value.Value; + + public static explicit operator HUSKEY(HANDLE value) => new HUSKEY(value); + + public static implicit operator HANDLE(HUSKEY value) => new HANDLE(value.Value); + + public static explicit operator HUSKEY(byte value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator byte(HUSKEY value) => (byte)(value.Value); + + public static explicit operator HUSKEY(short value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator short(HUSKEY value) => (short)(value.Value); + + public static explicit operator HUSKEY(int value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator int(HUSKEY value) => (int)(value.Value); + + public static explicit operator HUSKEY(long value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator long(HUSKEY value) => (long)(value.Value); + + public static explicit operator HUSKEY(nint value) => new HUSKEY(unchecked((void*)(value))); + + public static implicit operator nint(HUSKEY value) => (nint)(value.Value); + + public static explicit operator HUSKEY(sbyte value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator sbyte(HUSKEY value) => (sbyte)(value.Value); + + public static explicit operator HUSKEY(ushort value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator ushort(HUSKEY value) => (ushort)(value.Value); + + public static explicit operator HUSKEY(uint value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator uint(HUSKEY value) => (uint)(value.Value); + + public static explicit operator HUSKEY(ulong value) => new HUSKEY(unchecked((void*)(value))); + + public static explicit operator ulong(HUSKEY value) => (ulong)(value.Value); + + public static explicit operator HUSKEY(nuint value) => new HUSKEY(unchecked((void*)(value))); + + public static implicit operator nuint(HUSKEY value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HUSKEY other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HUSKEY."); + } + + public int CompareTo(HUSKEY other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HUSKEY other) && Equals(other); + + public bool Equals(HUSKEY other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HWAVEIN.gen.cs b/sources/Windows/Windows/other/helper-types/HWAVEIN.gen.cs new file mode 100644 index 0000000000..7e4694a74c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HWAVEIN.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HWAVEIN + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HWAVEIN(void* value) + { + Value = value; + } + + public static HWAVEIN INVALID_VALUE => new HWAVEIN((void*)(-1)); + public static HWAVEIN NULL => new HWAVEIN(null); + + public static bool operator ==(HWAVEIN left, HWAVEIN right) => left.Value == right.Value; + + public static bool operator !=(HWAVEIN left, HWAVEIN right) => left.Value != right.Value; + + public static bool operator <(HWAVEIN left, HWAVEIN right) => left.Value < right.Value; + + public static bool operator <=(HWAVEIN left, HWAVEIN right) => left.Value <= right.Value; + + public static bool operator >(HWAVEIN left, HWAVEIN right) => left.Value > right.Value; + + public static bool operator >=(HWAVEIN left, HWAVEIN right) => left.Value >= right.Value; + + public static explicit operator HWAVEIN(void* value) => new HWAVEIN(value); + + public static implicit operator void*(HWAVEIN value) => value.Value; + + public static explicit operator HWAVEIN(HANDLE value) => new HWAVEIN(value); + + public static implicit operator HANDLE(HWAVEIN value) => new HANDLE(value.Value); + + public static explicit operator HWAVEIN(byte value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator byte(HWAVEIN value) => (byte)(value.Value); + + public static explicit operator HWAVEIN(short value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator short(HWAVEIN value) => (short)(value.Value); + + public static explicit operator HWAVEIN(int value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator int(HWAVEIN value) => (int)(value.Value); + + public static explicit operator HWAVEIN(long value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator long(HWAVEIN value) => (long)(value.Value); + + public static explicit operator HWAVEIN(nint value) => new HWAVEIN(unchecked((void*)(value))); + + public static implicit operator nint(HWAVEIN value) => (nint)(value.Value); + + public static explicit operator HWAVEIN(sbyte value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator sbyte(HWAVEIN value) => (sbyte)(value.Value); + + public static explicit operator HWAVEIN(ushort value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator ushort(HWAVEIN value) => (ushort)(value.Value); + + public static explicit operator HWAVEIN(uint value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator uint(HWAVEIN value) => (uint)(value.Value); + + public static explicit operator HWAVEIN(ulong value) => new HWAVEIN(unchecked((void*)(value))); + + public static explicit operator ulong(HWAVEIN value) => (ulong)(value.Value); + + public static explicit operator HWAVEIN(nuint value) => new HWAVEIN(unchecked((void*)(value))); + + public static implicit operator nuint(HWAVEIN value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HWAVEIN other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HWAVEIN."); + } + + public int CompareTo(HWAVEIN other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HWAVEIN other) && Equals(other); + + public bool Equals(HWAVEIN other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HWAVEOUT.gen.cs b/sources/Windows/Windows/other/helper-types/HWAVEOUT.gen.cs new file mode 100644 index 0000000000..c80ac116e2 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HWAVEOUT.gen.cs @@ -0,0 +1,111 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HWAVEOUT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HWAVEOUT(void* value) + { + Value = value; + } + + public static HWAVEOUT INVALID_VALUE => new HWAVEOUT((void*)(-1)); + public static HWAVEOUT NULL => new HWAVEOUT(null); + + public static bool operator ==(HWAVEOUT left, HWAVEOUT right) => left.Value == right.Value; + + public static bool operator !=(HWAVEOUT left, HWAVEOUT right) => left.Value != right.Value; + + public static bool operator <(HWAVEOUT left, HWAVEOUT right) => left.Value < right.Value; + + public static bool operator <=(HWAVEOUT left, HWAVEOUT right) => left.Value <= right.Value; + + public static bool operator >(HWAVEOUT left, HWAVEOUT right) => left.Value > right.Value; + + public static bool operator >=(HWAVEOUT left, HWAVEOUT right) => left.Value >= right.Value; + + public static explicit operator HWAVEOUT(void* value) => new HWAVEOUT(value); + + public static implicit operator void*(HWAVEOUT value) => value.Value; + + public static explicit operator HWAVEOUT(HANDLE value) => new HWAVEOUT(value); + + public static implicit operator HANDLE(HWAVEOUT value) => new HANDLE(value.Value); + + public static explicit operator HWAVEOUT(byte value) => new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator byte(HWAVEOUT value) => (byte)(value.Value); + + public static explicit operator HWAVEOUT(short value) => + new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator short(HWAVEOUT value) => (short)(value.Value); + + public static explicit operator HWAVEOUT(int value) => new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator int(HWAVEOUT value) => (int)(value.Value); + + public static explicit operator HWAVEOUT(long value) => new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator long(HWAVEOUT value) => (long)(value.Value); + + public static explicit operator HWAVEOUT(nint value) => new HWAVEOUT(unchecked((void*)(value))); + + public static implicit operator nint(HWAVEOUT value) => (nint)(value.Value); + + public static explicit operator HWAVEOUT(sbyte value) => + new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator sbyte(HWAVEOUT value) => (sbyte)(value.Value); + + public static explicit operator HWAVEOUT(ushort value) => + new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator ushort(HWAVEOUT value) => (ushort)(value.Value); + + public static explicit operator HWAVEOUT(uint value) => new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator uint(HWAVEOUT value) => (uint)(value.Value); + + public static explicit operator HWAVEOUT(ulong value) => + new HWAVEOUT(unchecked((void*)(value))); + + public static explicit operator ulong(HWAVEOUT value) => (ulong)(value.Value); + + public static explicit operator HWAVEOUT(nuint value) => + new HWAVEOUT(unchecked((void*)(value))); + + public static implicit operator nuint(HWAVEOUT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HWAVEOUT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HWAVEOUT."); + } + + public int CompareTo(HWAVEOUT other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HWAVEOUT other) && Equals(other); + + public bool Equals(HWAVEOUT other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HWINEVENTHOOK.gen.cs b/sources/Windows/Windows/other/helper-types/HWINEVENTHOOK.gen.cs new file mode 100644 index 0000000000..7b08a59874 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HWINEVENTHOOK.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HWINEVENTHOOK + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HWINEVENTHOOK(void* value) + { + Value = value; + } + + public static HWINEVENTHOOK INVALID_VALUE => new HWINEVENTHOOK((void*)(-1)); + public static HWINEVENTHOOK NULL => new HWINEVENTHOOK(null); + + public static bool operator ==(HWINEVENTHOOK left, HWINEVENTHOOK right) => + left.Value == right.Value; + + public static bool operator !=(HWINEVENTHOOK left, HWINEVENTHOOK right) => + left.Value != right.Value; + + public static bool operator <(HWINEVENTHOOK left, HWINEVENTHOOK right) => + left.Value < right.Value; + + public static bool operator <=(HWINEVENTHOOK left, HWINEVENTHOOK right) => + left.Value <= right.Value; + + public static bool operator >(HWINEVENTHOOK left, HWINEVENTHOOK right) => + left.Value > right.Value; + + public static bool operator >=(HWINEVENTHOOK left, HWINEVENTHOOK right) => + left.Value >= right.Value; + + public static explicit operator HWINEVENTHOOK(void* value) => new HWINEVENTHOOK(value); + + public static implicit operator void*(HWINEVENTHOOK value) => value.Value; + + public static explicit operator HWINEVENTHOOK(HANDLE value) => new HWINEVENTHOOK(value); + + public static implicit operator HANDLE(HWINEVENTHOOK value) => new HANDLE(value.Value); + + public static explicit operator HWINEVENTHOOK(byte value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator byte(HWINEVENTHOOK value) => (byte)(value.Value); + + public static explicit operator HWINEVENTHOOK(short value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator short(HWINEVENTHOOK value) => (short)(value.Value); + + public static explicit operator HWINEVENTHOOK(int value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator int(HWINEVENTHOOK value) => (int)(value.Value); + + public static explicit operator HWINEVENTHOOK(long value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator long(HWINEVENTHOOK value) => (long)(value.Value); + + public static explicit operator HWINEVENTHOOK(nint value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static implicit operator nint(HWINEVENTHOOK value) => (nint)(value.Value); + + public static explicit operator HWINEVENTHOOK(sbyte value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator sbyte(HWINEVENTHOOK value) => (sbyte)(value.Value); + + public static explicit operator HWINEVENTHOOK(ushort value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator ushort(HWINEVENTHOOK value) => (ushort)(value.Value); + + public static explicit operator HWINEVENTHOOK(uint value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator uint(HWINEVENTHOOK value) => (uint)(value.Value); + + public static explicit operator HWINEVENTHOOK(ulong value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static explicit operator ulong(HWINEVENTHOOK value) => (ulong)(value.Value); + + public static explicit operator HWINEVENTHOOK(nuint value) => + new HWINEVENTHOOK(unchecked((void*)(value))); + + public static implicit operator nuint(HWINEVENTHOOK value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HWINEVENTHOOK other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HWINEVENTHOOK."); + } + + public int CompareTo(HWINEVENTHOOK other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HWINEVENTHOOK other) && Equals(other); + + public bool Equals(HWINEVENTHOOK other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HWINSTA.gen.cs b/sources/Windows/Windows/other/helper-types/HWINSTA.gen.cs new file mode 100644 index 0000000000..d7eae35a66 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HWINSTA.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HWINSTA + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HWINSTA(void* value) + { + Value = value; + } + + public static HWINSTA INVALID_VALUE => new HWINSTA((void*)(-1)); + public static HWINSTA NULL => new HWINSTA(null); + + public static bool operator ==(HWINSTA left, HWINSTA right) => left.Value == right.Value; + + public static bool operator !=(HWINSTA left, HWINSTA right) => left.Value != right.Value; + + public static bool operator <(HWINSTA left, HWINSTA right) => left.Value < right.Value; + + public static bool operator <=(HWINSTA left, HWINSTA right) => left.Value <= right.Value; + + public static bool operator >(HWINSTA left, HWINSTA right) => left.Value > right.Value; + + public static bool operator >=(HWINSTA left, HWINSTA right) => left.Value >= right.Value; + + public static explicit operator HWINSTA(void* value) => new HWINSTA(value); + + public static implicit operator void*(HWINSTA value) => value.Value; + + public static explicit operator HWINSTA(HANDLE value) => new HWINSTA(value); + + public static implicit operator HANDLE(HWINSTA value) => new HANDLE(value.Value); + + public static explicit operator HWINSTA(byte value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator byte(HWINSTA value) => (byte)(value.Value); + + public static explicit operator HWINSTA(short value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator short(HWINSTA value) => (short)(value.Value); + + public static explicit operator HWINSTA(int value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator int(HWINSTA value) => (int)(value.Value); + + public static explicit operator HWINSTA(long value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator long(HWINSTA value) => (long)(value.Value); + + public static explicit operator HWINSTA(nint value) => new HWINSTA(unchecked((void*)(value))); + + public static implicit operator nint(HWINSTA value) => (nint)(value.Value); + + public static explicit operator HWINSTA(sbyte value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator sbyte(HWINSTA value) => (sbyte)(value.Value); + + public static explicit operator HWINSTA(ushort value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator ushort(HWINSTA value) => (ushort)(value.Value); + + public static explicit operator HWINSTA(uint value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator uint(HWINSTA value) => (uint)(value.Value); + + public static explicit operator HWINSTA(ulong value) => new HWINSTA(unchecked((void*)(value))); + + public static explicit operator ulong(HWINSTA value) => (ulong)(value.Value); + + public static explicit operator HWINSTA(nuint value) => new HWINSTA(unchecked((void*)(value))); + + public static implicit operator nuint(HWINSTA value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HWINSTA other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of HWINSTA."); + } + + public int CompareTo(HWINSTA other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HWINSTA other) && Equals(other); + + public bool Equals(HWINSTA other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/HWND.gen.cs b/sources/Windows/Windows/other/helper-types/HWND.gen.cs new file mode 100644 index 0000000000..2b8820a2cc --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/HWND.gen.cs @@ -0,0 +1,104 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct HWND + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public HWND(void* value) + { + Value = value; + } + + public static HWND INVALID_VALUE => new HWND((void*)(-1)); + public static HWND NULL => new HWND(null); + + public static bool operator ==(HWND left, HWND right) => left.Value == right.Value; + + public static bool operator !=(HWND left, HWND right) => left.Value != right.Value; + + public static bool operator <(HWND left, HWND right) => left.Value < right.Value; + + public static bool operator <=(HWND left, HWND right) => left.Value <= right.Value; + + public static bool operator >(HWND left, HWND right) => left.Value > right.Value; + + public static bool operator >=(HWND left, HWND right) => left.Value >= right.Value; + + public static explicit operator HWND(void* value) => new HWND(value); + + public static implicit operator void*(HWND value) => value.Value; + + public static explicit operator HWND(HANDLE value) => new HWND(value); + + public static implicit operator HANDLE(HWND value) => new HANDLE(value.Value); + + public static explicit operator HWND(byte value) => new HWND(unchecked((void*)(value))); + + public static explicit operator byte(HWND value) => (byte)(value.Value); + + public static explicit operator HWND(short value) => new HWND(unchecked((void*)(value))); + + public static explicit operator short(HWND value) => (short)(value.Value); + + public static explicit operator HWND(int value) => new HWND(unchecked((void*)(value))); + + public static explicit operator int(HWND value) => (int)(value.Value); + + public static explicit operator HWND(long value) => new HWND(unchecked((void*)(value))); + + public static explicit operator long(HWND value) => (long)(value.Value); + + public static explicit operator HWND(nint value) => new HWND(unchecked((void*)(value))); + + public static implicit operator nint(HWND value) => (nint)(value.Value); + + public static explicit operator HWND(sbyte value) => new HWND(unchecked((void*)(value))); + + public static explicit operator sbyte(HWND value) => (sbyte)(value.Value); + + public static explicit operator HWND(ushort value) => new HWND(unchecked((void*)(value))); + + public static explicit operator ushort(HWND value) => (ushort)(value.Value); + + public static explicit operator HWND(uint value) => new HWND(unchecked((void*)(value))); + + public static explicit operator uint(HWND value) => (uint)(value.Value); + + public static explicit operator HWND(ulong value) => new HWND(unchecked((void*)(value))); + + public static explicit operator ulong(HWND value) => (ulong)(value.Value); + + public static explicit operator HWND(nuint value) => new HWND(unchecked((void*)(value))); + + public static implicit operator nuint(HWND value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is HWND other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of HWND."); + } + + public int CompareTo(HWND other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is HWND other) && Equals(other); + + public bool Equals(HWND other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/InstanceHandle.gen.cs b/sources/Windows/Windows/other/helper-types/InstanceHandle.gen.cs new file mode 100644 index 0000000000..25e235f348 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/InstanceHandle.gen.cs @@ -0,0 +1,105 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.WinRT; + +public readonly unsafe partial struct InstanceHandle + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly ulong Value; + + public InstanceHandle(ulong value) + { + Value = value; + } + + public static bool operator ==(InstanceHandle left, InstanceHandle right) => + left.Value == right.Value; + + public static bool operator !=(InstanceHandle left, InstanceHandle right) => + left.Value != right.Value; + + public static bool operator <(InstanceHandle left, InstanceHandle right) => + left.Value < right.Value; + + public static bool operator <=(InstanceHandle left, InstanceHandle right) => + left.Value <= right.Value; + + public static bool operator >(InstanceHandle left, InstanceHandle right) => + left.Value > right.Value; + + public static bool operator >=(InstanceHandle left, InstanceHandle right) => + left.Value >= right.Value; + + public static implicit operator InstanceHandle(byte value) => new InstanceHandle(value); + + public static explicit operator byte(InstanceHandle value) => (byte)(value.Value); + + public static explicit operator InstanceHandle(short value) => + new InstanceHandle(unchecked((ulong)(value))); + + public static explicit operator short(InstanceHandle value) => (short)(value.Value); + + public static explicit operator InstanceHandle(int value) => + new InstanceHandle(unchecked((ulong)(value))); + + public static explicit operator int(InstanceHandle value) => (int)(value.Value); + + public static explicit operator InstanceHandle(long value) => + new InstanceHandle(unchecked((ulong)(value))); + + public static explicit operator long(InstanceHandle value) => (long)(value.Value); + + public static explicit operator InstanceHandle(nint value) => + new InstanceHandle(unchecked((ulong)(value))); + + public static explicit operator nint(InstanceHandle value) => (nint)(value.Value); + + public static explicit operator InstanceHandle(sbyte value) => + new InstanceHandle(unchecked((ulong)(value))); + + public static explicit operator sbyte(InstanceHandle value) => (sbyte)(value.Value); + + public static implicit operator InstanceHandle(ushort value) => new InstanceHandle(value); + + public static explicit operator ushort(InstanceHandle value) => (ushort)(value.Value); + + public static implicit operator InstanceHandle(uint value) => new InstanceHandle(value); + + public static explicit operator uint(InstanceHandle value) => (uint)(value.Value); + + public static implicit operator InstanceHandle(ulong value) => new InstanceHandle(value); + + public static implicit operator ulong(InstanceHandle value) => value.Value; + + public static implicit operator InstanceHandle(nuint value) => new InstanceHandle(value); + + public static explicit operator nuint(InstanceHandle value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is InstanceHandle other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of InstanceHandle."); + } + + public int CompareTo(InstanceHandle other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is InstanceHandle other) && Equals(other); + + public bool Equals(InstanceHandle other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString("X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/LPARAM.gen.cs b/sources/Windows/Windows/other/helper-types/LPARAM.gen.cs new file mode 100644 index 0000000000..40f17f0eea --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/LPARAM.gen.cs @@ -0,0 +1,92 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct LPARAM + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly nint Value; + + public LPARAM(nint value) + { + Value = value; + } + + public static bool operator ==(LPARAM left, LPARAM right) => left.Value == right.Value; + + public static bool operator !=(LPARAM left, LPARAM right) => left.Value != right.Value; + + public static bool operator <(LPARAM left, LPARAM right) => left.Value < right.Value; + + public static bool operator <=(LPARAM left, LPARAM right) => left.Value <= right.Value; + + public static bool operator >(LPARAM left, LPARAM right) => left.Value > right.Value; + + public static bool operator >=(LPARAM left, LPARAM right) => left.Value >= right.Value; + + public static implicit operator LPARAM(byte value) => new LPARAM(value); + + public static explicit operator byte(LPARAM value) => (byte)(value.Value); + + public static implicit operator LPARAM(short value) => new LPARAM(value); + + public static explicit operator short(LPARAM value) => (short)(value.Value); + + public static implicit operator LPARAM(int value) => new LPARAM(value); + + public static explicit operator int(LPARAM value) => (int)(value.Value); + + public static explicit operator LPARAM(long value) => new LPARAM(unchecked((nint)(value))); + + public static implicit operator long(LPARAM value) => value.Value; + + public static implicit operator LPARAM(nint value) => new LPARAM(value); + + public static implicit operator nint(LPARAM value) => value.Value; + + public static implicit operator LPARAM(sbyte value) => new LPARAM(value); + + public static explicit operator sbyte(LPARAM value) => (sbyte)(value.Value); + + public static implicit operator LPARAM(ushort value) => new LPARAM(value); + + public static explicit operator ushort(LPARAM value) => (ushort)(value.Value); + + public static explicit operator LPARAM(uint value) => new LPARAM(unchecked((nint)(value))); + + public static explicit operator uint(LPARAM value) => (uint)(value.Value); + + public static explicit operator LPARAM(ulong value) => new LPARAM(unchecked((nint)(value))); + + public static explicit operator ulong(LPARAM value) => (ulong)(value.Value); + + public static explicit operator LPARAM(nuint value) => new LPARAM(unchecked((nint)(value))); + + public static explicit operator nuint(LPARAM value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is LPARAM other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of LPARAM."); + } + + public int CompareTo(LPARAM other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is LPARAM other) && Equals(other); + + public bool Equals(LPARAM other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/LPPROC_THREAD_ATTRIBUTE_LIST.gen.cs b/sources/Windows/Windows/other/helper-types/LPPROC_THREAD_ATTRIBUTE_LIST.gen.cs new file mode 100644 index 0000000000..a7696d5f87 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/LPPROC_THREAD_ATTRIBUTE_LIST.gen.cs @@ -0,0 +1,140 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct LPPROC_THREAD_ATTRIBUTE_LIST + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public LPPROC_THREAD_ATTRIBUTE_LIST(void* value) + { + Value = value; + } + + public static LPPROC_THREAD_ATTRIBUTE_LIST NULL => new LPPROC_THREAD_ATTRIBUTE_LIST(null); + + public static bool operator ==( + LPPROC_THREAD_ATTRIBUTE_LIST left, + LPPROC_THREAD_ATTRIBUTE_LIST right + ) => left.Value == right.Value; + + public static bool operator !=( + LPPROC_THREAD_ATTRIBUTE_LIST left, + LPPROC_THREAD_ATTRIBUTE_LIST right + ) => left.Value != right.Value; + + public static bool operator <( + LPPROC_THREAD_ATTRIBUTE_LIST left, + LPPROC_THREAD_ATTRIBUTE_LIST right + ) => left.Value < right.Value; + + public static bool operator <=( + LPPROC_THREAD_ATTRIBUTE_LIST left, + LPPROC_THREAD_ATTRIBUTE_LIST right + ) => left.Value <= right.Value; + + public static bool operator >( + LPPROC_THREAD_ATTRIBUTE_LIST left, + LPPROC_THREAD_ATTRIBUTE_LIST right + ) => left.Value > right.Value; + + public static bool operator >=( + LPPROC_THREAD_ATTRIBUTE_LIST left, + LPPROC_THREAD_ATTRIBUTE_LIST right + ) => left.Value >= right.Value; + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(void* value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(value); + + public static implicit operator void*(LPPROC_THREAD_ATTRIBUTE_LIST value) => value.Value; + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(byte value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator byte(LPPROC_THREAD_ATTRIBUTE_LIST value) => (byte)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(short value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator short(LPPROC_THREAD_ATTRIBUTE_LIST value) => + (short)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(int value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator int(LPPROC_THREAD_ATTRIBUTE_LIST value) => (int)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(long value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator long(LPPROC_THREAD_ATTRIBUTE_LIST value) => (long)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(nint value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static implicit operator nint(LPPROC_THREAD_ATTRIBUTE_LIST value) => (nint)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(sbyte value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator sbyte(LPPROC_THREAD_ATTRIBUTE_LIST value) => + (sbyte)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(ushort value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator ushort(LPPROC_THREAD_ATTRIBUTE_LIST value) => + (ushort)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(uint value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator uint(LPPROC_THREAD_ATTRIBUTE_LIST value) => (uint)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(ulong value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static explicit operator ulong(LPPROC_THREAD_ATTRIBUTE_LIST value) => + (ulong)(value.Value); + + public static explicit operator LPPROC_THREAD_ATTRIBUTE_LIST(nuint value) => + new LPPROC_THREAD_ATTRIBUTE_LIST(unchecked((void*)(value))); + + public static implicit operator nuint(LPPROC_THREAD_ATTRIBUTE_LIST value) => + (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is LPPROC_THREAD_ATTRIBUTE_LIST other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException( + "obj is not an instance of LPPROC_THREAD_ATTRIBUTE_LIST." + ); + } + + public int CompareTo(LPPROC_THREAD_ATTRIBUTE_LIST other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is LPPROC_THREAD_ATTRIBUTE_LIST other) && Equals(other); + + public bool Equals(LPPROC_THREAD_ATTRIBUTE_LIST other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/LRESULT.gen.cs b/sources/Windows/Windows/other/helper-types/LRESULT.gen.cs new file mode 100644 index 0000000000..3d8af556cf --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/LRESULT.gen.cs @@ -0,0 +1,94 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly partial struct LRESULT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly nint Value; + + public LRESULT(nint value) + { + Value = value; + } + + public static bool operator ==(LRESULT left, LRESULT right) => left.Value == right.Value; + + public static bool operator !=(LRESULT left, LRESULT right) => left.Value != right.Value; + + public static bool operator <(LRESULT left, LRESULT right) => left.Value < right.Value; + + public static bool operator <=(LRESULT left, LRESULT right) => left.Value <= right.Value; + + public static bool operator >(LRESULT left, LRESULT right) => left.Value > right.Value; + + public static bool operator >=(LRESULT left, LRESULT right) => left.Value >= right.Value; + + public static implicit operator LRESULT(byte value) => new LRESULT(value); + + public static explicit operator byte(LRESULT value) => (byte)(value.Value); + + public static implicit operator LRESULT(short value) => new LRESULT(value); + + public static explicit operator short(LRESULT value) => (short)(value.Value); + + public static implicit operator LRESULT(int value) => new LRESULT(value); + + public static explicit operator int(LRESULT value) => (int)(value.Value); + + public static explicit operator LRESULT(long value) => new LRESULT(unchecked((nint)(value))); + + public static implicit operator long(LRESULT value) => value.Value; + + public static implicit operator LRESULT(nint value) => new LRESULT(value); + + public static implicit operator nint(LRESULT value) => value.Value; + + public static implicit operator LRESULT(sbyte value) => new LRESULT(value); + + public static explicit operator sbyte(LRESULT value) => (sbyte)(value.Value); + + public static implicit operator LRESULT(ushort value) => new LRESULT(value); + + public static explicit operator ushort(LRESULT value) => (ushort)(value.Value); + + public static explicit operator LRESULT(uint value) => new LRESULT(unchecked((nint)(value))); + + public static explicit operator uint(LRESULT value) => (uint)(value.Value); + + public static explicit operator LRESULT(ulong value) => new LRESULT(unchecked((nint)(value))); + + public static explicit operator ulong(LRESULT value) => (ulong)(value.Value); + + public static explicit operator LRESULT(nuint value) => new LRESULT(unchecked((nint)(value))); + + public static explicit operator nuint(LRESULT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is LRESULT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of LRESULT."); + } + + public int CompareTo(LRESULT other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is LRESULT other) && Equals(other); + + public bool Equals(LRESULT other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString(); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/MSIHANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/MSIHANDLE.gen.cs new file mode 100644 index 0000000000..3bcf14b374 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/MSIHANDLE.gen.cs @@ -0,0 +1,100 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct MSIHANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly uint Value; + + public MSIHANDLE(uint value) + { + Value = value; + } + + public static bool operator ==(MSIHANDLE left, MSIHANDLE right) => left.Value == right.Value; + + public static bool operator !=(MSIHANDLE left, MSIHANDLE right) => left.Value != right.Value; + + public static bool operator <(MSIHANDLE left, MSIHANDLE right) => left.Value < right.Value; + + public static bool operator <=(MSIHANDLE left, MSIHANDLE right) => left.Value <= right.Value; + + public static bool operator >(MSIHANDLE left, MSIHANDLE right) => left.Value > right.Value; + + public static bool operator >=(MSIHANDLE left, MSIHANDLE right) => left.Value >= right.Value; + + public static implicit operator MSIHANDLE(byte value) => new MSIHANDLE(value); + + public static explicit operator byte(MSIHANDLE value) => (byte)(value.Value); + + public static explicit operator MSIHANDLE(short value) => + new MSIHANDLE(unchecked((uint)(value))); + + public static explicit operator short(MSIHANDLE value) => (short)(value.Value); + + public static explicit operator MSIHANDLE(int value) => new MSIHANDLE(unchecked((uint)(value))); + + public static explicit operator int(MSIHANDLE value) => (int)(value.Value); + + public static explicit operator MSIHANDLE(long value) => + new MSIHANDLE(unchecked((uint)(value))); + + public static implicit operator long(MSIHANDLE value) => value.Value; + + public static explicit operator MSIHANDLE(nint value) => + new MSIHANDLE(unchecked((uint)(value))); + + public static explicit operator nint(MSIHANDLE value) => (nint)(value.Value); + + public static explicit operator MSIHANDLE(sbyte value) => + new MSIHANDLE(unchecked((uint)(value))); + + public static explicit operator sbyte(MSIHANDLE value) => (sbyte)(value.Value); + + public static implicit operator MSIHANDLE(ushort value) => new MSIHANDLE(value); + + public static explicit operator ushort(MSIHANDLE value) => (ushort)(value.Value); + + public static implicit operator MSIHANDLE(uint value) => new MSIHANDLE(value); + + public static implicit operator uint(MSIHANDLE value) => value.Value; + + public static explicit operator MSIHANDLE(ulong value) => + new MSIHANDLE(unchecked((uint)(value))); + + public static implicit operator ulong(MSIHANDLE value) => value.Value; + + public static explicit operator MSIHANDLE(nuint value) => + new MSIHANDLE(unchecked((uint)(value))); + + public static implicit operator nuint(MSIHANDLE value) => value.Value; + + public int CompareTo(object? obj) + { + if (obj is MSIHANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of MSIHANDLE."); + } + + public int CompareTo(MSIHANDLE other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is MSIHANDLE other) && Equals(other); + + public bool Equals(MSIHANDLE other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString("X8"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/MachineGlobalObjectTableRegistrationToken.gen.cs b/sources/Windows/Windows/other/helper-types/MachineGlobalObjectTableRegistrationToken.gen.cs new file mode 100644 index 0000000000..8308f1fc9d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/MachineGlobalObjectTableRegistrationToken.gen.cs @@ -0,0 +1,147 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct MachineGlobalObjectTableRegistrationToken + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public MachineGlobalObjectTableRegistrationToken(void* value) + { + Value = value; + } + + public static MachineGlobalObjectTableRegistrationToken NULL => + new MachineGlobalObjectTableRegistrationToken(null); + + public static bool operator ==( + MachineGlobalObjectTableRegistrationToken left, + MachineGlobalObjectTableRegistrationToken right + ) => left.Value == right.Value; + + public static bool operator !=( + MachineGlobalObjectTableRegistrationToken left, + MachineGlobalObjectTableRegistrationToken right + ) => left.Value != right.Value; + + public static bool operator <( + MachineGlobalObjectTableRegistrationToken left, + MachineGlobalObjectTableRegistrationToken right + ) => left.Value < right.Value; + + public static bool operator <=( + MachineGlobalObjectTableRegistrationToken left, + MachineGlobalObjectTableRegistrationToken right + ) => left.Value <= right.Value; + + public static bool operator >( + MachineGlobalObjectTableRegistrationToken left, + MachineGlobalObjectTableRegistrationToken right + ) => left.Value > right.Value; + + public static bool operator >=( + MachineGlobalObjectTableRegistrationToken left, + MachineGlobalObjectTableRegistrationToken right + ) => left.Value >= right.Value; + + public static explicit operator MachineGlobalObjectTableRegistrationToken(void* value) => + new MachineGlobalObjectTableRegistrationToken(value); + + public static implicit operator void*(MachineGlobalObjectTableRegistrationToken value) => + value.Value; + + public static explicit operator MachineGlobalObjectTableRegistrationToken(byte value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator byte(MachineGlobalObjectTableRegistrationToken value) => + (byte)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(short value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator short(MachineGlobalObjectTableRegistrationToken value) => + (short)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(int value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator int(MachineGlobalObjectTableRegistrationToken value) => + (int)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(long value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator long(MachineGlobalObjectTableRegistrationToken value) => + (long)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(nint value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static implicit operator nint(MachineGlobalObjectTableRegistrationToken value) => + (nint)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(sbyte value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator sbyte(MachineGlobalObjectTableRegistrationToken value) => + (sbyte)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(ushort value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator ushort(MachineGlobalObjectTableRegistrationToken value) => + (ushort)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(uint value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator uint(MachineGlobalObjectTableRegistrationToken value) => + (uint)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(ulong value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static explicit operator ulong(MachineGlobalObjectTableRegistrationToken value) => + (ulong)(value.Value); + + public static explicit operator MachineGlobalObjectTableRegistrationToken(nuint value) => + new MachineGlobalObjectTableRegistrationToken(unchecked((void*)(value))); + + public static implicit operator nuint(MachineGlobalObjectTableRegistrationToken value) => + (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is MachineGlobalObjectTableRegistrationToken other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException( + "obj is not an instance of MachineGlobalObjectTableRegistrationToken." + ); + } + + public int CompareTo(MachineGlobalObjectTableRegistrationToken other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is MachineGlobalObjectTableRegistrationToken other) && Equals(other); + + public bool Equals(MachineGlobalObjectTableRegistrationToken other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/NativeInheritanceAttribute.gen.cs b/sources/Windows/Windows/other/helper-types/NativeInheritanceAttribute.gen.cs new file mode 100644 index 0000000000..9e533baf7c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/NativeInheritanceAttribute.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; +using System.Diagnostics; + +namespace TerraFX.Interop; + +/// Defines the base type of a struct as it was in the native signature. +[AttributeUsage(AttributeTargets.Struct, AllowMultiple = false, Inherited = true)] +[Conditional("DEBUG")] +internal sealed partial class NativeInheritanceAttribute : Attribute +{ + private readonly string _name; + + /// Initializes a new instance of the class. + /// The name of the base type that was inherited from in the native signature. + + public NativeInheritanceAttribute(string name) + { + _name = name; + } + + /// Gets the name of the base type that was inherited from in the native signature. + + public string Name => _name; +} diff --git a/sources/Windows/Windows/other/helper-types/NativeTypeNameAttribute.gen.cs b/sources/Windows/Windows/other/helper-types/NativeTypeNameAttribute.gen.cs new file mode 100644 index 0000000000..a86e32c8f6 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/NativeTypeNameAttribute.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; +using System.Diagnostics; + +namespace TerraFX.Interop; + +/// Defines the type of a member as it was used in the native signature. +[AttributeUsage( + AttributeTargets.Struct + | AttributeTargets.Enum + | AttributeTargets.Property + | AttributeTargets.Field + | AttributeTargets.Parameter + | AttributeTargets.ReturnValue, + AllowMultiple = false, + Inherited = true +)] +[Conditional("DEBUG")] +internal sealed partial class NativeTypeNameAttribute : Attribute +{ + private readonly string _name; + + /// Initializes a new instance of the class. + /// The name of the type that was used in the native signature. + + public NativeTypeNameAttribute(string name) + { + _name = name; + } + + /// Gets the name of the type that was used in the native signature. + + public string Name => _name; +} diff --git a/sources/Windows/Windows/other/helper-types/OAHWND.gen.cs b/sources/Windows/Windows/other/helper-types/OAHWND.gen.cs new file mode 100644 index 0000000000..7f4f448f4c --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/OAHWND.gen.cs @@ -0,0 +1,99 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct OAHWND + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public OAHWND(void* value) + { + Value = value; + } + + public static OAHWND NULL => new OAHWND(null); + + public static bool operator ==(OAHWND left, OAHWND right) => left.Value == right.Value; + + public static bool operator !=(OAHWND left, OAHWND right) => left.Value != right.Value; + + public static bool operator <(OAHWND left, OAHWND right) => left.Value < right.Value; + + public static bool operator <=(OAHWND left, OAHWND right) => left.Value <= right.Value; + + public static bool operator >(OAHWND left, OAHWND right) => left.Value > right.Value; + + public static bool operator >=(OAHWND left, OAHWND right) => left.Value >= right.Value; + + public static explicit operator OAHWND(void* value) => new OAHWND(value); + + public static implicit operator void*(OAHWND value) => value.Value; + + public static explicit operator OAHWND(byte value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator byte(OAHWND value) => (byte)(value.Value); + + public static explicit operator OAHWND(short value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator short(OAHWND value) => (short)(value.Value); + + public static explicit operator OAHWND(int value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator int(OAHWND value) => (int)(value.Value); + + public static explicit operator OAHWND(long value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator long(OAHWND value) => (long)(value.Value); + + public static explicit operator OAHWND(nint value) => new OAHWND(unchecked((void*)(value))); + + public static implicit operator nint(OAHWND value) => (nint)(value.Value); + + public static explicit operator OAHWND(sbyte value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator sbyte(OAHWND value) => (sbyte)(value.Value); + + public static explicit operator OAHWND(ushort value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator ushort(OAHWND value) => (ushort)(value.Value); + + public static explicit operator OAHWND(uint value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator uint(OAHWND value) => (uint)(value.Value); + + public static explicit operator OAHWND(ulong value) => new OAHWND(unchecked((void*)(value))); + + public static explicit operator ulong(OAHWND value) => (ulong)(value.Value); + + public static explicit operator OAHWND(nuint value) => new OAHWND(unchecked((void*)(value))); + + public static implicit operator nuint(OAHWND value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is OAHWND other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of OAHWND."); + } + + public int CompareTo(OAHWND other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is OAHWND other) && Equals(other); + + public bool Equals(OAHWND other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PACKAGEDEPENDENCY_CONTEXT.gen.cs b/sources/Windows/Windows/other/helper-types/PACKAGEDEPENDENCY_CONTEXT.gen.cs new file mode 100644 index 0000000000..1566a44f3d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PACKAGEDEPENDENCY_CONTEXT.gen.cs @@ -0,0 +1,134 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PACKAGEDEPENDENCY_CONTEXT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PACKAGEDEPENDENCY_CONTEXT(void* value) + { + Value = value; + } + + public static PACKAGEDEPENDENCY_CONTEXT NULL => new PACKAGEDEPENDENCY_CONTEXT(null); + + public static bool operator ==( + PACKAGEDEPENDENCY_CONTEXT left, + PACKAGEDEPENDENCY_CONTEXT right + ) => left.Value == right.Value; + + public static bool operator !=( + PACKAGEDEPENDENCY_CONTEXT left, + PACKAGEDEPENDENCY_CONTEXT right + ) => left.Value != right.Value; + + public static bool operator <( + PACKAGEDEPENDENCY_CONTEXT left, + PACKAGEDEPENDENCY_CONTEXT right + ) => left.Value < right.Value; + + public static bool operator <=( + PACKAGEDEPENDENCY_CONTEXT left, + PACKAGEDEPENDENCY_CONTEXT right + ) => left.Value <= right.Value; + + public static bool operator >( + PACKAGEDEPENDENCY_CONTEXT left, + PACKAGEDEPENDENCY_CONTEXT right + ) => left.Value > right.Value; + + public static bool operator >=( + PACKAGEDEPENDENCY_CONTEXT left, + PACKAGEDEPENDENCY_CONTEXT right + ) => left.Value >= right.Value; + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(void* value) => + new PACKAGEDEPENDENCY_CONTEXT(value); + + public static implicit operator void*(PACKAGEDEPENDENCY_CONTEXT value) => value.Value; + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(byte value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator byte(PACKAGEDEPENDENCY_CONTEXT value) => (byte)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(short value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator short(PACKAGEDEPENDENCY_CONTEXT value) => (short)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(int value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator int(PACKAGEDEPENDENCY_CONTEXT value) => (int)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(long value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator long(PACKAGEDEPENDENCY_CONTEXT value) => (long)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(nint value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static implicit operator nint(PACKAGEDEPENDENCY_CONTEXT value) => (nint)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(sbyte value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator sbyte(PACKAGEDEPENDENCY_CONTEXT value) => (sbyte)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(ushort value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator ushort(PACKAGEDEPENDENCY_CONTEXT value) => + (ushort)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(uint value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator uint(PACKAGEDEPENDENCY_CONTEXT value) => (uint)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(ulong value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static explicit operator ulong(PACKAGEDEPENDENCY_CONTEXT value) => (ulong)(value.Value); + + public static explicit operator PACKAGEDEPENDENCY_CONTEXT(nuint value) => + new PACKAGEDEPENDENCY_CONTEXT(unchecked((void*)(value))); + + public static implicit operator nuint(PACKAGEDEPENDENCY_CONTEXT value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PACKAGEDEPENDENCY_CONTEXT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PACKAGEDEPENDENCY_CONTEXT."); + } + + public int CompareTo(PACKAGEDEPENDENCY_CONTEXT other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PACKAGEDEPENDENCY_CONTEXT other) && Equals(other); + + public bool Equals(PACKAGEDEPENDENCY_CONTEXT other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PACKAGE_INFO_REFERENCE.gen.cs b/sources/Windows/Windows/other/helper-types/PACKAGE_INFO_REFERENCE.gen.cs new file mode 100644 index 0000000000..e916b9aeb8 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PACKAGE_INFO_REFERENCE.gen.cs @@ -0,0 +1,121 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PACKAGE_INFO_REFERENCE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PACKAGE_INFO_REFERENCE(void* value) + { + Value = value; + } + + public static PACKAGE_INFO_REFERENCE NULL => new PACKAGE_INFO_REFERENCE(null); + + public static bool operator ==(PACKAGE_INFO_REFERENCE left, PACKAGE_INFO_REFERENCE right) => + left.Value == right.Value; + + public static bool operator !=(PACKAGE_INFO_REFERENCE left, PACKAGE_INFO_REFERENCE right) => + left.Value != right.Value; + + public static bool operator <(PACKAGE_INFO_REFERENCE left, PACKAGE_INFO_REFERENCE right) => + left.Value < right.Value; + + public static bool operator <=(PACKAGE_INFO_REFERENCE left, PACKAGE_INFO_REFERENCE right) => + left.Value <= right.Value; + + public static bool operator >(PACKAGE_INFO_REFERENCE left, PACKAGE_INFO_REFERENCE right) => + left.Value > right.Value; + + public static bool operator >=(PACKAGE_INFO_REFERENCE left, PACKAGE_INFO_REFERENCE right) => + left.Value >= right.Value; + + public static explicit operator PACKAGE_INFO_REFERENCE(void* value) => + new PACKAGE_INFO_REFERENCE(value); + + public static implicit operator void*(PACKAGE_INFO_REFERENCE value) => value.Value; + + public static explicit operator PACKAGE_INFO_REFERENCE(byte value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator byte(PACKAGE_INFO_REFERENCE value) => (byte)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(short value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator short(PACKAGE_INFO_REFERENCE value) => (short)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(int value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator int(PACKAGE_INFO_REFERENCE value) => (int)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(long value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator long(PACKAGE_INFO_REFERENCE value) => (long)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(nint value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static implicit operator nint(PACKAGE_INFO_REFERENCE value) => (nint)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(sbyte value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator sbyte(PACKAGE_INFO_REFERENCE value) => (sbyte)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(ushort value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator ushort(PACKAGE_INFO_REFERENCE value) => (ushort)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(uint value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator uint(PACKAGE_INFO_REFERENCE value) => (uint)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(ulong value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static explicit operator ulong(PACKAGE_INFO_REFERENCE value) => (ulong)(value.Value); + + public static explicit operator PACKAGE_INFO_REFERENCE(nuint value) => + new PACKAGE_INFO_REFERENCE(unchecked((void*)(value))); + + public static implicit operator nuint(PACKAGE_INFO_REFERENCE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PACKAGE_INFO_REFERENCE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PACKAGE_INFO_REFERENCE."); + } + + public int CompareTo(PACKAGE_INFO_REFERENCE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PACKAGE_INFO_REFERENCE other) && Equals(other); + + public bool Equals(PACKAGE_INFO_REFERENCE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PAPPCONSTRAIN_REGISTRATION.gen.cs b/sources/Windows/Windows/other/helper-types/PAPPCONSTRAIN_REGISTRATION.gen.cs new file mode 100644 index 0000000000..e497db7bb8 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PAPPCONSTRAIN_REGISTRATION.gen.cs @@ -0,0 +1,134 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PAPPCONSTRAIN_REGISTRATION + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PAPPCONSTRAIN_REGISTRATION(void* value) + { + Value = value; + } + + public static PAPPCONSTRAIN_REGISTRATION NULL => new PAPPCONSTRAIN_REGISTRATION(null); + + public static bool operator ==( + PAPPCONSTRAIN_REGISTRATION left, + PAPPCONSTRAIN_REGISTRATION right + ) => left.Value == right.Value; + + public static bool operator !=( + PAPPCONSTRAIN_REGISTRATION left, + PAPPCONSTRAIN_REGISTRATION right + ) => left.Value != right.Value; + + public static bool operator <( + PAPPCONSTRAIN_REGISTRATION left, + PAPPCONSTRAIN_REGISTRATION right + ) => left.Value < right.Value; + + public static bool operator <=( + PAPPCONSTRAIN_REGISTRATION left, + PAPPCONSTRAIN_REGISTRATION right + ) => left.Value <= right.Value; + + public static bool operator >( + PAPPCONSTRAIN_REGISTRATION left, + PAPPCONSTRAIN_REGISTRATION right + ) => left.Value > right.Value; + + public static bool operator >=( + PAPPCONSTRAIN_REGISTRATION left, + PAPPCONSTRAIN_REGISTRATION right + ) => left.Value >= right.Value; + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(void* value) => + new PAPPCONSTRAIN_REGISTRATION(value); + + public static implicit operator void*(PAPPCONSTRAIN_REGISTRATION value) => value.Value; + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(byte value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator byte(PAPPCONSTRAIN_REGISTRATION value) => (byte)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(short value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator short(PAPPCONSTRAIN_REGISTRATION value) => (short)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(int value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator int(PAPPCONSTRAIN_REGISTRATION value) => (int)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(long value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator long(PAPPCONSTRAIN_REGISTRATION value) => (long)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(nint value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static implicit operator nint(PAPPCONSTRAIN_REGISTRATION value) => (nint)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(sbyte value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator sbyte(PAPPCONSTRAIN_REGISTRATION value) => (sbyte)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(ushort value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator ushort(PAPPCONSTRAIN_REGISTRATION value) => + (ushort)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(uint value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator uint(PAPPCONSTRAIN_REGISTRATION value) => (uint)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(ulong value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator ulong(PAPPCONSTRAIN_REGISTRATION value) => (ulong)(value.Value); + + public static explicit operator PAPPCONSTRAIN_REGISTRATION(nuint value) => + new PAPPCONSTRAIN_REGISTRATION(unchecked((void*)(value))); + + public static implicit operator nuint(PAPPCONSTRAIN_REGISTRATION value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PAPPCONSTRAIN_REGISTRATION other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PAPPCONSTRAIN_REGISTRATION."); + } + + public int CompareTo(PAPPCONSTRAIN_REGISTRATION other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PAPPCONSTRAIN_REGISTRATION other) && Equals(other); + + public bool Equals(PAPPCONSTRAIN_REGISTRATION other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PAPPSTATE_REGISTRATION.gen.cs b/sources/Windows/Windows/other/helper-types/PAPPSTATE_REGISTRATION.gen.cs new file mode 100644 index 0000000000..3d3aa8866d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PAPPSTATE_REGISTRATION.gen.cs @@ -0,0 +1,121 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PAPPSTATE_REGISTRATION + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PAPPSTATE_REGISTRATION(void* value) + { + Value = value; + } + + public static PAPPSTATE_REGISTRATION NULL => new PAPPSTATE_REGISTRATION(null); + + public static bool operator ==(PAPPSTATE_REGISTRATION left, PAPPSTATE_REGISTRATION right) => + left.Value == right.Value; + + public static bool operator !=(PAPPSTATE_REGISTRATION left, PAPPSTATE_REGISTRATION right) => + left.Value != right.Value; + + public static bool operator <(PAPPSTATE_REGISTRATION left, PAPPSTATE_REGISTRATION right) => + left.Value < right.Value; + + public static bool operator <=(PAPPSTATE_REGISTRATION left, PAPPSTATE_REGISTRATION right) => + left.Value <= right.Value; + + public static bool operator >(PAPPSTATE_REGISTRATION left, PAPPSTATE_REGISTRATION right) => + left.Value > right.Value; + + public static bool operator >=(PAPPSTATE_REGISTRATION left, PAPPSTATE_REGISTRATION right) => + left.Value >= right.Value; + + public static explicit operator PAPPSTATE_REGISTRATION(void* value) => + new PAPPSTATE_REGISTRATION(value); + + public static implicit operator void*(PAPPSTATE_REGISTRATION value) => value.Value; + + public static explicit operator PAPPSTATE_REGISTRATION(byte value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator byte(PAPPSTATE_REGISTRATION value) => (byte)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(short value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator short(PAPPSTATE_REGISTRATION value) => (short)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(int value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator int(PAPPSTATE_REGISTRATION value) => (int)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(long value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator long(PAPPSTATE_REGISTRATION value) => (long)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(nint value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static implicit operator nint(PAPPSTATE_REGISTRATION value) => (nint)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(sbyte value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator sbyte(PAPPSTATE_REGISTRATION value) => (sbyte)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(ushort value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator ushort(PAPPSTATE_REGISTRATION value) => (ushort)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(uint value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator uint(PAPPSTATE_REGISTRATION value) => (uint)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(ulong value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static explicit operator ulong(PAPPSTATE_REGISTRATION value) => (ulong)(value.Value); + + public static explicit operator PAPPSTATE_REGISTRATION(nuint value) => + new PAPPSTATE_REGISTRATION(unchecked((void*)(value))); + + public static implicit operator nuint(PAPPSTATE_REGISTRATION value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PAPPSTATE_REGISTRATION other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PAPPSTATE_REGISTRATION."); + } + + public int CompareTo(PAPPSTATE_REGISTRATION other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PAPPSTATE_REGISTRATION other) && Equals(other); + + public bool Equals(PAPPSTATE_REGISTRATION other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PCUSERIALIZEDPROPSTORAGE.gen.cs b/sources/Windows/Windows/other/helper-types/PCUSERIALIZEDPROPSTORAGE.gen.cs new file mode 100644 index 0000000000..c46b37522e --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PCUSERIALIZEDPROPSTORAGE.gen.cs @@ -0,0 +1,121 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PCUSERIALIZEDPROPSTORAGE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PCUSERIALIZEDPROPSTORAGE(void* value) + { + Value = value; + } + + public static PCUSERIALIZEDPROPSTORAGE NULL => new PCUSERIALIZEDPROPSTORAGE(null); + + public static bool operator ==(PCUSERIALIZEDPROPSTORAGE left, PCUSERIALIZEDPROPSTORAGE right) => + left.Value == right.Value; + + public static bool operator !=(PCUSERIALIZEDPROPSTORAGE left, PCUSERIALIZEDPROPSTORAGE right) => + left.Value != right.Value; + + public static bool operator <(PCUSERIALIZEDPROPSTORAGE left, PCUSERIALIZEDPROPSTORAGE right) => + left.Value < right.Value; + + public static bool operator <=(PCUSERIALIZEDPROPSTORAGE left, PCUSERIALIZEDPROPSTORAGE right) => + left.Value <= right.Value; + + public static bool operator >(PCUSERIALIZEDPROPSTORAGE left, PCUSERIALIZEDPROPSTORAGE right) => + left.Value > right.Value; + + public static bool operator >=(PCUSERIALIZEDPROPSTORAGE left, PCUSERIALIZEDPROPSTORAGE right) => + left.Value >= right.Value; + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(void* value) => + new PCUSERIALIZEDPROPSTORAGE(value); + + public static implicit operator void*(PCUSERIALIZEDPROPSTORAGE value) => value.Value; + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(byte value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator byte(PCUSERIALIZEDPROPSTORAGE value) => (byte)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(short value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator short(PCUSERIALIZEDPROPSTORAGE value) => (short)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(int value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator int(PCUSERIALIZEDPROPSTORAGE value) => (int)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(long value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator long(PCUSERIALIZEDPROPSTORAGE value) => (long)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(nint value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static implicit operator nint(PCUSERIALIZEDPROPSTORAGE value) => (nint)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(sbyte value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator sbyte(PCUSERIALIZEDPROPSTORAGE value) => (sbyte)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(ushort value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator ushort(PCUSERIALIZEDPROPSTORAGE value) => (ushort)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(uint value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator uint(PCUSERIALIZEDPROPSTORAGE value) => (uint)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(ulong value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static explicit operator ulong(PCUSERIALIZEDPROPSTORAGE value) => (ulong)(value.Value); + + public static explicit operator PCUSERIALIZEDPROPSTORAGE(nuint value) => + new PCUSERIALIZEDPROPSTORAGE(unchecked((void*)(value))); + + public static implicit operator nuint(PCUSERIALIZEDPROPSTORAGE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PCUSERIALIZEDPROPSTORAGE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PCUSERIALIZEDPROPSTORAGE."); + } + + public int CompareTo(PCUSERIALIZEDPROPSTORAGE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PCUSERIALIZEDPROPSTORAGE other) && Equals(other); + + public bool Equals(PCUSERIALIZEDPROPSTORAGE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PHIDP_PREPARSED_DATA.gen.cs b/sources/Windows/Windows/other/helper-types/PHIDP_PREPARSED_DATA.gen.cs new file mode 100644 index 0000000000..c1cd484577 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PHIDP_PREPARSED_DATA.gen.cs @@ -0,0 +1,120 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PHIDP_PREPARSED_DATA + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PHIDP_PREPARSED_DATA(void* value) + { + Value = value; + } + + public static PHIDP_PREPARSED_DATA NULL => new PHIDP_PREPARSED_DATA(null); + + public static bool operator ==(PHIDP_PREPARSED_DATA left, PHIDP_PREPARSED_DATA right) => + left.Value == right.Value; + + public static bool operator !=(PHIDP_PREPARSED_DATA left, PHIDP_PREPARSED_DATA right) => + left.Value != right.Value; + + public static bool operator <(PHIDP_PREPARSED_DATA left, PHIDP_PREPARSED_DATA right) => + left.Value < right.Value; + + public static bool operator <=(PHIDP_PREPARSED_DATA left, PHIDP_PREPARSED_DATA right) => + left.Value <= right.Value; + + public static bool operator >(PHIDP_PREPARSED_DATA left, PHIDP_PREPARSED_DATA right) => + left.Value > right.Value; + + public static bool operator >=(PHIDP_PREPARSED_DATA left, PHIDP_PREPARSED_DATA right) => + left.Value >= right.Value; + + public static explicit operator PHIDP_PREPARSED_DATA(void* value) => + new PHIDP_PREPARSED_DATA(value); + + public static implicit operator void*(PHIDP_PREPARSED_DATA value) => value.Value; + + public static explicit operator PHIDP_PREPARSED_DATA(byte value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator byte(PHIDP_PREPARSED_DATA value) => (byte)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(short value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator short(PHIDP_PREPARSED_DATA value) => (short)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(int value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator int(PHIDP_PREPARSED_DATA value) => (int)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(long value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator long(PHIDP_PREPARSED_DATA value) => (long)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(nint value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static implicit operator nint(PHIDP_PREPARSED_DATA value) => (nint)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(sbyte value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator sbyte(PHIDP_PREPARSED_DATA value) => (sbyte)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(ushort value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator ushort(PHIDP_PREPARSED_DATA value) => (ushort)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(uint value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator uint(PHIDP_PREPARSED_DATA value) => (uint)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(ulong value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static explicit operator ulong(PHIDP_PREPARSED_DATA value) => (ulong)(value.Value); + + public static explicit operator PHIDP_PREPARSED_DATA(nuint value) => + new PHIDP_PREPARSED_DATA(unchecked((void*)(value))); + + public static implicit operator nuint(PHIDP_PREPARSED_DATA value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PHIDP_PREPARSED_DATA other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PHIDP_PREPARSED_DATA."); + } + + public int CompareTo(PHIDP_PREPARSED_DATA other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PHIDP_PREPARSED_DATA other) && Equals(other); + + public bool Equals(PHIDP_PREPARSED_DATA other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PRJ_DIR_ENTRY_BUFFER_HANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/PRJ_DIR_ENTRY_BUFFER_HANDLE.gen.cs new file mode 100644 index 0000000000..300b412939 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PRJ_DIR_ENTRY_BUFFER_HANDLE.gen.cs @@ -0,0 +1,146 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PRJ_DIR_ENTRY_BUFFER_HANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PRJ_DIR_ENTRY_BUFFER_HANDLE(void* value) + { + Value = value; + } + + public static PRJ_DIR_ENTRY_BUFFER_HANDLE INVALID_VALUE => + new PRJ_DIR_ENTRY_BUFFER_HANDLE((void*)(-1)); + public static PRJ_DIR_ENTRY_BUFFER_HANDLE NULL => new PRJ_DIR_ENTRY_BUFFER_HANDLE(null); + + public static bool operator ==( + PRJ_DIR_ENTRY_BUFFER_HANDLE left, + PRJ_DIR_ENTRY_BUFFER_HANDLE right + ) => left.Value == right.Value; + + public static bool operator !=( + PRJ_DIR_ENTRY_BUFFER_HANDLE left, + PRJ_DIR_ENTRY_BUFFER_HANDLE right + ) => left.Value != right.Value; + + public static bool operator <( + PRJ_DIR_ENTRY_BUFFER_HANDLE left, + PRJ_DIR_ENTRY_BUFFER_HANDLE right + ) => left.Value < right.Value; + + public static bool operator <=( + PRJ_DIR_ENTRY_BUFFER_HANDLE left, + PRJ_DIR_ENTRY_BUFFER_HANDLE right + ) => left.Value <= right.Value; + + public static bool operator >( + PRJ_DIR_ENTRY_BUFFER_HANDLE left, + PRJ_DIR_ENTRY_BUFFER_HANDLE right + ) => left.Value > right.Value; + + public static bool operator >=( + PRJ_DIR_ENTRY_BUFFER_HANDLE left, + PRJ_DIR_ENTRY_BUFFER_HANDLE right + ) => left.Value >= right.Value; + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(void* value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(value); + + public static implicit operator void*(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => value.Value; + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(HANDLE value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(value); + + public static implicit operator HANDLE(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => + new HANDLE(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(byte value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator byte(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => (byte)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(short value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator short(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => + (short)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(int value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator int(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => (int)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(long value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator long(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => (long)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(nint value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static implicit operator nint(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => (nint)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(sbyte value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => + (sbyte)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(ushort value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => + (ushort)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(uint value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator uint(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => (uint)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(ulong value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => + (ulong)(value.Value); + + public static explicit operator PRJ_DIR_ENTRY_BUFFER_HANDLE(nuint value) => + new PRJ_DIR_ENTRY_BUFFER_HANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(PRJ_DIR_ENTRY_BUFFER_HANDLE value) => + (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PRJ_DIR_ENTRY_BUFFER_HANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PRJ_DIR_ENTRY_BUFFER_HANDLE."); + } + + public int CompareTo(PRJ_DIR_ENTRY_BUFFER_HANDLE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PRJ_DIR_ENTRY_BUFFER_HANDLE other) && Equals(other); + + public bool Equals(PRJ_DIR_ENTRY_BUFFER_HANDLE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT.gen.cs b/sources/Windows/Windows/other/helper-types/PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT.gen.cs new file mode 100644 index 0000000000..588d1c65d6 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT.gen.cs @@ -0,0 +1,155 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(void* value) + { + Value = value; + } + + public static PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT INVALID_VALUE => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT((void*)(-1)); + public static PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT NULL => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(null); + + public static bool operator ==( + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT left, + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT right + ) => left.Value == right.Value; + + public static bool operator !=( + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT left, + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT right + ) => left.Value != right.Value; + + public static bool operator <( + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT left, + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT right + ) => left.Value < right.Value; + + public static bool operator <=( + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT left, + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT right + ) => left.Value <= right.Value; + + public static bool operator >( + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT left, + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT right + ) => left.Value > right.Value; + + public static bool operator >=( + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT left, + PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT right + ) => left.Value >= right.Value; + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(void* value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(value); + + public static implicit operator void*(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + value.Value; + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(HANDLE value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(value); + + public static implicit operator HANDLE(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + new HANDLE(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(byte value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator byte(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (byte)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(short value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator short(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (short)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(int value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator int(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (int)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(long value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator long(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (long)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(nint value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static implicit operator nint(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (nint)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(sbyte value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator sbyte(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (sbyte)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(ushort value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator ushort(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (ushort)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(uint value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator uint(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (uint)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(ulong value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static explicit operator ulong(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (ulong)(value.Value); + + public static explicit operator PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(nuint value) => + new PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT(unchecked((void*)(value))); + + public static implicit operator nuint(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT value) => + (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException( + "obj is not an instance of PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT." + ); + } + + public int CompareTo(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT other) && Equals(other); + + public bool Equals(PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PTP_CALLBACK_INSTANCE.gen.cs b/sources/Windows/Windows/other/helper-types/PTP_CALLBACK_INSTANCE.gen.cs new file mode 100644 index 0000000000..d127190f20 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PTP_CALLBACK_INSTANCE.gen.cs @@ -0,0 +1,121 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PTP_CALLBACK_INSTANCE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PTP_CALLBACK_INSTANCE(void* value) + { + Value = value; + } + + public static PTP_CALLBACK_INSTANCE NULL => new PTP_CALLBACK_INSTANCE(null); + + public static bool operator ==(PTP_CALLBACK_INSTANCE left, PTP_CALLBACK_INSTANCE right) => + left.Value == right.Value; + + public static bool operator !=(PTP_CALLBACK_INSTANCE left, PTP_CALLBACK_INSTANCE right) => + left.Value != right.Value; + + public static bool operator <(PTP_CALLBACK_INSTANCE left, PTP_CALLBACK_INSTANCE right) => + left.Value < right.Value; + + public static bool operator <=(PTP_CALLBACK_INSTANCE left, PTP_CALLBACK_INSTANCE right) => + left.Value <= right.Value; + + public static bool operator >(PTP_CALLBACK_INSTANCE left, PTP_CALLBACK_INSTANCE right) => + left.Value > right.Value; + + public static bool operator >=(PTP_CALLBACK_INSTANCE left, PTP_CALLBACK_INSTANCE right) => + left.Value >= right.Value; + + public static explicit operator PTP_CALLBACK_INSTANCE(void* value) => + new PTP_CALLBACK_INSTANCE(value); + + public static implicit operator void*(PTP_CALLBACK_INSTANCE value) => value.Value; + + public static explicit operator PTP_CALLBACK_INSTANCE(byte value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator byte(PTP_CALLBACK_INSTANCE value) => (byte)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(short value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator short(PTP_CALLBACK_INSTANCE value) => (short)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(int value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator int(PTP_CALLBACK_INSTANCE value) => (int)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(long value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator long(PTP_CALLBACK_INSTANCE value) => (long)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(nint value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static implicit operator nint(PTP_CALLBACK_INSTANCE value) => (nint)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(sbyte value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator sbyte(PTP_CALLBACK_INSTANCE value) => (sbyte)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(ushort value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator ushort(PTP_CALLBACK_INSTANCE value) => (ushort)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(uint value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator uint(PTP_CALLBACK_INSTANCE value) => (uint)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(ulong value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static explicit operator ulong(PTP_CALLBACK_INSTANCE value) => (ulong)(value.Value); + + public static explicit operator PTP_CALLBACK_INSTANCE(nuint value) => + new PTP_CALLBACK_INSTANCE(unchecked((void*)(value))); + + public static implicit operator nuint(PTP_CALLBACK_INSTANCE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PTP_CALLBACK_INSTANCE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PTP_CALLBACK_INSTANCE."); + } + + public int CompareTo(PTP_CALLBACK_INSTANCE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is PTP_CALLBACK_INSTANCE other) && Equals(other); + + public bool Equals(PTP_CALLBACK_INSTANCE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PTP_CLEANUP_GROUP.gen.cs b/sources/Windows/Windows/other/helper-types/PTP_CLEANUP_GROUP.gen.cs new file mode 100644 index 0000000000..a830888dcc --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PTP_CLEANUP_GROUP.gen.cs @@ -0,0 +1,118 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PTP_CLEANUP_GROUP + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PTP_CLEANUP_GROUP(void* value) + { + Value = value; + } + + public static PTP_CLEANUP_GROUP NULL => new PTP_CLEANUP_GROUP(null); + + public static bool operator ==(PTP_CLEANUP_GROUP left, PTP_CLEANUP_GROUP right) => + left.Value == right.Value; + + public static bool operator !=(PTP_CLEANUP_GROUP left, PTP_CLEANUP_GROUP right) => + left.Value != right.Value; + + public static bool operator <(PTP_CLEANUP_GROUP left, PTP_CLEANUP_GROUP right) => + left.Value < right.Value; + + public static bool operator <=(PTP_CLEANUP_GROUP left, PTP_CLEANUP_GROUP right) => + left.Value <= right.Value; + + public static bool operator >(PTP_CLEANUP_GROUP left, PTP_CLEANUP_GROUP right) => + left.Value > right.Value; + + public static bool operator >=(PTP_CLEANUP_GROUP left, PTP_CLEANUP_GROUP right) => + left.Value >= right.Value; + + public static explicit operator PTP_CLEANUP_GROUP(void* value) => new PTP_CLEANUP_GROUP(value); + + public static implicit operator void*(PTP_CLEANUP_GROUP value) => value.Value; + + public static explicit operator PTP_CLEANUP_GROUP(byte value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator byte(PTP_CLEANUP_GROUP value) => (byte)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(short value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator short(PTP_CLEANUP_GROUP value) => (short)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(int value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator int(PTP_CLEANUP_GROUP value) => (int)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(long value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator long(PTP_CLEANUP_GROUP value) => (long)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(nint value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static implicit operator nint(PTP_CLEANUP_GROUP value) => (nint)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(sbyte value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator sbyte(PTP_CLEANUP_GROUP value) => (sbyte)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(ushort value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator ushort(PTP_CLEANUP_GROUP value) => (ushort)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(uint value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator uint(PTP_CLEANUP_GROUP value) => (uint)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(ulong value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static explicit operator ulong(PTP_CLEANUP_GROUP value) => (ulong)(value.Value); + + public static explicit operator PTP_CLEANUP_GROUP(nuint value) => + new PTP_CLEANUP_GROUP(unchecked((void*)(value))); + + public static implicit operator nuint(PTP_CLEANUP_GROUP value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PTP_CLEANUP_GROUP other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PTP_CLEANUP_GROUP."); + } + + public int CompareTo(PTP_CLEANUP_GROUP other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is PTP_CLEANUP_GROUP other) && Equals(other); + + public bool Equals(PTP_CLEANUP_GROUP other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/PTP_POOL.gen.cs b/sources/Windows/Windows/other/helper-types/PTP_POOL.gen.cs new file mode 100644 index 0000000000..632eb21f46 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/PTP_POOL.gen.cs @@ -0,0 +1,106 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct PTP_POOL + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public PTP_POOL(void* value) + { + Value = value; + } + + public static PTP_POOL NULL => new PTP_POOL(null); + + public static bool operator ==(PTP_POOL left, PTP_POOL right) => left.Value == right.Value; + + public static bool operator !=(PTP_POOL left, PTP_POOL right) => left.Value != right.Value; + + public static bool operator <(PTP_POOL left, PTP_POOL right) => left.Value < right.Value; + + public static bool operator <=(PTP_POOL left, PTP_POOL right) => left.Value <= right.Value; + + public static bool operator >(PTP_POOL left, PTP_POOL right) => left.Value > right.Value; + + public static bool operator >=(PTP_POOL left, PTP_POOL right) => left.Value >= right.Value; + + public static explicit operator PTP_POOL(void* value) => new PTP_POOL(value); + + public static implicit operator void*(PTP_POOL value) => value.Value; + + public static explicit operator PTP_POOL(byte value) => new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator byte(PTP_POOL value) => (byte)(value.Value); + + public static explicit operator PTP_POOL(short value) => + new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator short(PTP_POOL value) => (short)(value.Value); + + public static explicit operator PTP_POOL(int value) => new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator int(PTP_POOL value) => (int)(value.Value); + + public static explicit operator PTP_POOL(long value) => new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator long(PTP_POOL value) => (long)(value.Value); + + public static explicit operator PTP_POOL(nint value) => new PTP_POOL(unchecked((void*)(value))); + + public static implicit operator nint(PTP_POOL value) => (nint)(value.Value); + + public static explicit operator PTP_POOL(sbyte value) => + new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator sbyte(PTP_POOL value) => (sbyte)(value.Value); + + public static explicit operator PTP_POOL(ushort value) => + new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator ushort(PTP_POOL value) => (ushort)(value.Value); + + public static explicit operator PTP_POOL(uint value) => new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator uint(PTP_POOL value) => (uint)(value.Value); + + public static explicit operator PTP_POOL(ulong value) => + new PTP_POOL(unchecked((void*)(value))); + + public static explicit operator ulong(PTP_POOL value) => (ulong)(value.Value); + + public static explicit operator PTP_POOL(nuint value) => + new PTP_POOL(unchecked((void*)(value))); + + public static implicit operator nuint(PTP_POOL value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is PTP_POOL other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of PTP_POOL."); + } + + public int CompareTo(PTP_POOL other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is PTP_POOL other) && Equals(other); + + public bool Equals(PTP_POOL other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/ROPARAMIIDHANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/ROPARAMIIDHANDLE.gen.cs new file mode 100644 index 0000000000..b0d7076875 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/ROPARAMIIDHANDLE.gen.cs @@ -0,0 +1,123 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct ROPARAMIIDHANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public ROPARAMIIDHANDLE(void* value) + { + Value = value; + } + + public static ROPARAMIIDHANDLE INVALID_VALUE => new ROPARAMIIDHANDLE((void*)(-1)); + public static ROPARAMIIDHANDLE NULL => new ROPARAMIIDHANDLE(null); + + public static bool operator ==(ROPARAMIIDHANDLE left, ROPARAMIIDHANDLE right) => + left.Value == right.Value; + + public static bool operator !=(ROPARAMIIDHANDLE left, ROPARAMIIDHANDLE right) => + left.Value != right.Value; + + public static bool operator <(ROPARAMIIDHANDLE left, ROPARAMIIDHANDLE right) => + left.Value < right.Value; + + public static bool operator <=(ROPARAMIIDHANDLE left, ROPARAMIIDHANDLE right) => + left.Value <= right.Value; + + public static bool operator >(ROPARAMIIDHANDLE left, ROPARAMIIDHANDLE right) => + left.Value > right.Value; + + public static bool operator >=(ROPARAMIIDHANDLE left, ROPARAMIIDHANDLE right) => + left.Value >= right.Value; + + public static explicit operator ROPARAMIIDHANDLE(void* value) => new ROPARAMIIDHANDLE(value); + + public static implicit operator void*(ROPARAMIIDHANDLE value) => value.Value; + + public static explicit operator ROPARAMIIDHANDLE(HANDLE value) => new ROPARAMIIDHANDLE(value); + + public static implicit operator HANDLE(ROPARAMIIDHANDLE value) => new HANDLE(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(byte value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator byte(ROPARAMIIDHANDLE value) => (byte)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(short value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator short(ROPARAMIIDHANDLE value) => (short)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(int value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator int(ROPARAMIIDHANDLE value) => (int)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(long value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator long(ROPARAMIIDHANDLE value) => (long)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(nint value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static implicit operator nint(ROPARAMIIDHANDLE value) => (nint)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(sbyte value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(ROPARAMIIDHANDLE value) => (sbyte)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(ushort value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(ROPARAMIIDHANDLE value) => (ushort)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(uint value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator uint(ROPARAMIIDHANDLE value) => (uint)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(ulong value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(ROPARAMIIDHANDLE value) => (ulong)(value.Value); + + public static explicit operator ROPARAMIIDHANDLE(nuint value) => + new ROPARAMIIDHANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(ROPARAMIIDHANDLE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is ROPARAMIIDHANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of ROPARAMIIDHANDLE."); + } + + public int CompareTo(ROPARAMIIDHANDLE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is ROPARAMIIDHANDLE other) && Equals(other); + + public bool Equals(ROPARAMIIDHANDLE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/RO_REGISTRATION_COOKIE.gen.cs b/sources/Windows/Windows/other/helper-types/RO_REGISTRATION_COOKIE.gen.cs new file mode 100644 index 0000000000..fc373b2d1f --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/RO_REGISTRATION_COOKIE.gen.cs @@ -0,0 +1,121 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct RO_REGISTRATION_COOKIE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public RO_REGISTRATION_COOKIE(void* value) + { + Value = value; + } + + public static RO_REGISTRATION_COOKIE NULL => new RO_REGISTRATION_COOKIE(null); + + public static bool operator ==(RO_REGISTRATION_COOKIE left, RO_REGISTRATION_COOKIE right) => + left.Value == right.Value; + + public static bool operator !=(RO_REGISTRATION_COOKIE left, RO_REGISTRATION_COOKIE right) => + left.Value != right.Value; + + public static bool operator <(RO_REGISTRATION_COOKIE left, RO_REGISTRATION_COOKIE right) => + left.Value < right.Value; + + public static bool operator <=(RO_REGISTRATION_COOKIE left, RO_REGISTRATION_COOKIE right) => + left.Value <= right.Value; + + public static bool operator >(RO_REGISTRATION_COOKIE left, RO_REGISTRATION_COOKIE right) => + left.Value > right.Value; + + public static bool operator >=(RO_REGISTRATION_COOKIE left, RO_REGISTRATION_COOKIE right) => + left.Value >= right.Value; + + public static explicit operator RO_REGISTRATION_COOKIE(void* value) => + new RO_REGISTRATION_COOKIE(value); + + public static implicit operator void*(RO_REGISTRATION_COOKIE value) => value.Value; + + public static explicit operator RO_REGISTRATION_COOKIE(byte value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator byte(RO_REGISTRATION_COOKIE value) => (byte)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(short value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator short(RO_REGISTRATION_COOKIE value) => (short)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(int value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator int(RO_REGISTRATION_COOKIE value) => (int)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(long value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator long(RO_REGISTRATION_COOKIE value) => (long)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(nint value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static implicit operator nint(RO_REGISTRATION_COOKIE value) => (nint)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(sbyte value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator sbyte(RO_REGISTRATION_COOKIE value) => (sbyte)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(ushort value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator ushort(RO_REGISTRATION_COOKIE value) => (ushort)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(uint value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator uint(RO_REGISTRATION_COOKIE value) => (uint)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(ulong value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static explicit operator ulong(RO_REGISTRATION_COOKIE value) => (ulong)(value.Value); + + public static explicit operator RO_REGISTRATION_COOKIE(nuint value) => + new RO_REGISTRATION_COOKIE(unchecked((void*)(value))); + + public static implicit operator nuint(RO_REGISTRATION_COOKIE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is RO_REGISTRATION_COOKIE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of RO_REGISTRATION_COOKIE."); + } + + public int CompareTo(RO_REGISTRATION_COOKIE other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is RO_REGISTRATION_COOKIE other) && Equals(other); + + public bool Equals(RO_REGISTRATION_COOKIE other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/SPSTATEHANDLE.gen.cs b/sources/Windows/Windows/other/helper-types/SPSTATEHANDLE.gen.cs new file mode 100644 index 0000000000..bd22d119aa --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/SPSTATEHANDLE.gen.cs @@ -0,0 +1,122 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct SPSTATEHANDLE + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly void* Value; + + public SPSTATEHANDLE(void* value) + { + Value = value; + } + + public static SPSTATEHANDLE INVALID_VALUE => new SPSTATEHANDLE((void*)(-1)); + public static SPSTATEHANDLE NULL => new SPSTATEHANDLE(null); + + public static bool operator ==(SPSTATEHANDLE left, SPSTATEHANDLE right) => + left.Value == right.Value; + + public static bool operator !=(SPSTATEHANDLE left, SPSTATEHANDLE right) => + left.Value != right.Value; + + public static bool operator <(SPSTATEHANDLE left, SPSTATEHANDLE right) => + left.Value < right.Value; + + public static bool operator <=(SPSTATEHANDLE left, SPSTATEHANDLE right) => + left.Value <= right.Value; + + public static bool operator >(SPSTATEHANDLE left, SPSTATEHANDLE right) => + left.Value > right.Value; + + public static bool operator >=(SPSTATEHANDLE left, SPSTATEHANDLE right) => + left.Value >= right.Value; + + public static explicit operator SPSTATEHANDLE(void* value) => new SPSTATEHANDLE(value); + + public static implicit operator void*(SPSTATEHANDLE value) => value.Value; + + public static explicit operator SPSTATEHANDLE(HANDLE value) => new SPSTATEHANDLE(value); + + public static implicit operator HANDLE(SPSTATEHANDLE value) => new HANDLE(value.Value); + + public static explicit operator SPSTATEHANDLE(byte value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator byte(SPSTATEHANDLE value) => (byte)(value.Value); + + public static explicit operator SPSTATEHANDLE(short value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator short(SPSTATEHANDLE value) => (short)(value.Value); + + public static explicit operator SPSTATEHANDLE(int value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator int(SPSTATEHANDLE value) => (int)(value.Value); + + public static explicit operator SPSTATEHANDLE(long value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator long(SPSTATEHANDLE value) => (long)(value.Value); + + public static explicit operator SPSTATEHANDLE(nint value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static implicit operator nint(SPSTATEHANDLE value) => (nint)(value.Value); + + public static explicit operator SPSTATEHANDLE(sbyte value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator sbyte(SPSTATEHANDLE value) => (sbyte)(value.Value); + + public static explicit operator SPSTATEHANDLE(ushort value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator ushort(SPSTATEHANDLE value) => (ushort)(value.Value); + + public static explicit operator SPSTATEHANDLE(uint value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator uint(SPSTATEHANDLE value) => (uint)(value.Value); + + public static explicit operator SPSTATEHANDLE(ulong value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static explicit operator ulong(SPSTATEHANDLE value) => (ulong)(value.Value); + + public static explicit operator SPSTATEHANDLE(nuint value) => + new SPSTATEHANDLE(unchecked((void*)(value))); + + public static implicit operator nuint(SPSTATEHANDLE value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is SPSTATEHANDLE other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of SPSTATEHANDLE."); + } + + public int CompareTo(SPSTATEHANDLE other) => ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => (obj is SPSTATEHANDLE other) && Equals(other); + + public bool Equals(SPSTATEHANDLE other) => ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/SetsLastSystemErrorAttribute.gen.cs b/sources/Windows/Windows/other/helper-types/SetsLastSystemErrorAttribute.gen.cs new file mode 100644 index 0000000000..c25b04d278 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/SetsLastSystemErrorAttribute.gen.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; +using System.Diagnostics; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; + +/// Specifies that the given method sets the last system error and it can be retrieved via . +[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] +[Conditional("DEBUG")] +internal sealed partial class SetsLastSystemErrorAttribute : Attribute +{ + /// Initializes a new instance of the class. + + public SetsLastSystemErrorAttribute() { } +} diff --git a/sources/Windows/Windows/other/helper-types/UI_ANIMATION_KEYFRAME.gen.cs b/sources/Windows/Windows/other/helper-types/UI_ANIMATION_KEYFRAME.gen.cs new file mode 100644 index 0000000000..b095dc16f4 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/UI_ANIMATION_KEYFRAME.gen.cs @@ -0,0 +1,121 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct UI_ANIMATION_KEYFRAME + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly int* Value; + + public UI_ANIMATION_KEYFRAME(int* value) + { + Value = value; + } + + public static UI_ANIMATION_KEYFRAME NULL => new UI_ANIMATION_KEYFRAME(null); + + public static bool operator ==(UI_ANIMATION_KEYFRAME left, UI_ANIMATION_KEYFRAME right) => + left.Value == right.Value; + + public static bool operator !=(UI_ANIMATION_KEYFRAME left, UI_ANIMATION_KEYFRAME right) => + left.Value != right.Value; + + public static bool operator <(UI_ANIMATION_KEYFRAME left, UI_ANIMATION_KEYFRAME right) => + left.Value < right.Value; + + public static bool operator <=(UI_ANIMATION_KEYFRAME left, UI_ANIMATION_KEYFRAME right) => + left.Value <= right.Value; + + public static bool operator >(UI_ANIMATION_KEYFRAME left, UI_ANIMATION_KEYFRAME right) => + left.Value > right.Value; + + public static bool operator >=(UI_ANIMATION_KEYFRAME left, UI_ANIMATION_KEYFRAME right) => + left.Value >= right.Value; + + public static explicit operator UI_ANIMATION_KEYFRAME(void* value) => + new UI_ANIMATION_KEYFRAME((int*)(value)); + + public static implicit operator void*(UI_ANIMATION_KEYFRAME value) => value.Value; + + public static explicit operator UI_ANIMATION_KEYFRAME(byte value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator byte(UI_ANIMATION_KEYFRAME value) => (byte)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(short value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator short(UI_ANIMATION_KEYFRAME value) => (short)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(int value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator int(UI_ANIMATION_KEYFRAME value) => (int)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(long value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator long(UI_ANIMATION_KEYFRAME value) => (long)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(nint value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static implicit operator nint(UI_ANIMATION_KEYFRAME value) => (nint)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(sbyte value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator sbyte(UI_ANIMATION_KEYFRAME value) => (sbyte)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(ushort value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator ushort(UI_ANIMATION_KEYFRAME value) => (ushort)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(uint value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator uint(UI_ANIMATION_KEYFRAME value) => (uint)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(ulong value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static explicit operator ulong(UI_ANIMATION_KEYFRAME value) => (ulong)(value.Value); + + public static explicit operator UI_ANIMATION_KEYFRAME(nuint value) => + new UI_ANIMATION_KEYFRAME(unchecked((int*)(value))); + + public static implicit operator nuint(UI_ANIMATION_KEYFRAME value) => (nuint)(value.Value); + + public int CompareTo(object? obj) + { + if (obj is UI_ANIMATION_KEYFRAME other) + { + return CompareTo(other); + } + return (obj is null) + ? 1 + : throw new ArgumentException("obj is not an instance of UI_ANIMATION_KEYFRAME."); + } + + public int CompareTo(UI_ANIMATION_KEYFRAME other) => + ((nuint)(Value)).CompareTo((nuint)(other.Value)); + + public override bool Equals(object? obj) => + (obj is UI_ANIMATION_KEYFRAME other) && Equals(other); + + public bool Equals(UI_ANIMATION_KEYFRAME other) => + ((nuint)(Value)).Equals((nuint)(other.Value)); + + public override int GetHashCode() => ((nuint)(Value)).GetHashCode(); + + public override string ToString() => + ((nuint)(Value)).ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + ((nuint)(Value)).ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/helper-types/VtblIndexAttribute.gen.cs b/sources/Windows/Windows/other/helper-types/VtblIndexAttribute.gen.cs new file mode 100644 index 0000000000..3a1436654d --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/VtblIndexAttribute.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; +using System.Diagnostics; + +namespace TerraFX.Interop; + +/// Defines the vtbl index of a method as it was in the native signature. +[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] +[Conditional("DEBUG")] +internal sealed partial class VtblIndexAttribute : Attribute +{ + private readonly uint _index; + + /// Initializes a new instance of the class. + /// The vtbl index of a method as it was in the native signature. + + public VtblIndexAttribute(uint index) + { + _index = index; + } + + /// Gets the vtbl index of a method as it was in the native signature. + + public uint Index => _index; +} diff --git a/sources/Windows/Windows/other/helper-types/WPARAM.gen.cs b/sources/Windows/Windows/other/helper-types/WPARAM.gen.cs new file mode 100644 index 0000000000..4f5f9b66a8 --- /dev/null +++ b/sources/Windows/Windows/other/helper-types/WPARAM.gen.cs @@ -0,0 +1,92 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +using System; + +namespace Silk.NET.Windows; + +public readonly unsafe partial struct WPARAM + : IComparable, + IComparable, + IEquatable, + IFormattable +{ + public readonly nuint Value; + + public WPARAM(nuint value) + { + Value = value; + } + + public static bool operator ==(WPARAM left, WPARAM right) => left.Value == right.Value; + + public static bool operator !=(WPARAM left, WPARAM right) => left.Value != right.Value; + + public static bool operator <(WPARAM left, WPARAM right) => left.Value < right.Value; + + public static bool operator <=(WPARAM left, WPARAM right) => left.Value <= right.Value; + + public static bool operator >(WPARAM left, WPARAM right) => left.Value > right.Value; + + public static bool operator >=(WPARAM left, WPARAM right) => left.Value >= right.Value; + + public static implicit operator WPARAM(byte value) => new WPARAM(value); + + public static explicit operator byte(WPARAM value) => (byte)(value.Value); + + public static explicit operator WPARAM(short value) => new WPARAM(unchecked((nuint)(value))); + + public static explicit operator short(WPARAM value) => (short)(value.Value); + + public static explicit operator WPARAM(int value) => new WPARAM(unchecked((nuint)(value))); + + public static explicit operator int(WPARAM value) => (int)(value.Value); + + public static explicit operator WPARAM(long value) => new WPARAM(unchecked((nuint)(value))); + + public static explicit operator long(WPARAM value) => (long)(value.Value); + + public static explicit operator WPARAM(nint value) => new WPARAM(unchecked((nuint)(value))); + + public static explicit operator nint(WPARAM value) => (nint)(value.Value); + + public static explicit operator WPARAM(sbyte value) => new WPARAM(unchecked((nuint)(value))); + + public static explicit operator sbyte(WPARAM value) => (sbyte)(value.Value); + + public static implicit operator WPARAM(ushort value) => new WPARAM(value); + + public static explicit operator ushort(WPARAM value) => (ushort)(value.Value); + + public static implicit operator WPARAM(uint value) => new WPARAM(value); + + public static explicit operator uint(WPARAM value) => (uint)(value.Value); + + public static explicit operator WPARAM(ulong value) => new WPARAM(unchecked((nuint)(value))); + + public static implicit operator ulong(WPARAM value) => value.Value; + + public static implicit operator WPARAM(nuint value) => new WPARAM(value); + + public static implicit operator nuint(WPARAM value) => value.Value; + + public int CompareTo(object? obj) + { + if (obj is WPARAM other) + { + return CompareTo(other); + } + return (obj is null) ? 1 : throw new ArgumentException("obj is not an instance of WPARAM."); + } + + public int CompareTo(WPARAM other) => Value.CompareTo(other.Value); + + public override bool Equals(object? obj) => (obj is WPARAM other) && Equals(other); + + public bool Equals(WPARAM other) => Value.Equals(other.Value); + + public override int GetHashCode() => Value.GetHashCode(); + + public override string ToString() => Value.ToString((sizeof(nint) == 4) ? "X8" : "X16"); + + public string ToString(string? format, IFormatProvider? formatProvider) => + Value.ToString(format, formatProvider); +} diff --git a/sources/Windows/Windows/other/mssign32/APPX_SIP_CLIENT_DATA.gen.cs b/sources/Windows/Windows/other/mssign32/APPX_SIP_CLIENT_DATA.gen.cs new file mode 100644 index 0000000000..8a95a42f58 --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/APPX_SIP_CLIENT_DATA.gen.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +/// +public unsafe partial struct APPX_SIP_CLIENT_DATA +{ + /// + + [NativeTypeName("PSIGNER_SIGN_EX2_PARAMS")] + public SIGNER_SIGN_EX2_PARAMS* pSignerParams; + + /// + + public IUnknown* pAppxSipState; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER.gen.cs new file mode 100644 index 0000000000..014e59a016 --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +public static partial class SIGNER +{ + [NativeTypeName("#define SIGNER_SUBJECT_FILE 0x01")] + public const int SIGNER_SUBJECT_FILE = 0x01; + + [NativeTypeName("#define SIGNER_SUBJECT_BLOB 0x02")] + public const int SIGNER_SUBJECT_BLOB = 0x02; + + [NativeTypeName("#define SIGNER_NO_ATTR 0x00")] + public const int SIGNER_NO_ATTR = 0x00; + + [NativeTypeName("#define SIGNER_AUTHCODE_ATTR 0x01")] + public const int SIGNER_AUTHCODE_ATTR = 0x01; + + [NativeTypeName("#define SIGNER_CERT_POLICY_STORE 0x01")] + public const int SIGNER_CERT_POLICY_STORE = 0x01; + + [NativeTypeName("#define SIGNER_CERT_POLICY_CHAIN 0x02")] + public const int SIGNER_CERT_POLICY_CHAIN = 0x02; + + [NativeTypeName("#define SIGNER_CERT_POLICY_SPC 0x04")] + public const int SIGNER_CERT_POLICY_SPC = 0x04; + + [NativeTypeName("#define SIGNER_CERT_POLICY_CHAIN_NO_ROOT 0x08")] + public const int SIGNER_CERT_POLICY_CHAIN_NO_ROOT = 0x08; + + [NativeTypeName("#define SIGNER_CERT_SPC_FILE 0x01")] + public const int SIGNER_CERT_SPC_FILE = 0x01; + + [NativeTypeName("#define SIGNER_CERT_STORE 0x02")] + public const int SIGNER_CERT_STORE = 0x02; + + [NativeTypeName("#define SIGNER_CERT_SPC_CHAIN 0x03")] + public const int SIGNER_CERT_SPC_CHAIN = 0x03; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_ATTR_AUTHCODE.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_ATTR_AUTHCODE.gen.cs new file mode 100644 index 0000000000..7f6e38ff8b --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_ATTR_AUTHCODE.gen.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_ATTR_AUTHCODE +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + public BOOL fCommercial; + + /// + + public BOOL fIndividual; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* pwszName; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* pwszInfo; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_BLOB_INFO.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_BLOB_INFO.gen.cs new file mode 100644 index 0000000000..a0bb6eec28 --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_BLOB_INFO.gen.cs @@ -0,0 +1,33 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using System; + +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_BLOB_INFO +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + public Guid* pGuidSubject; + + /// + + [NativeTypeName("DWORD")] + public uint cbBlob; + + /// + + public byte* pbBlob; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* pwszDisplayName; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_CERT.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_CERT.gen.cs new file mode 100644 index 0000000000..77aff33d04 --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_CERT.gen.cs @@ -0,0 +1,80 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_CERT +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("DWORD")] + public uint dwCertChoice; + + /// + + [NativeTypeName("__AnonymousRecord_mssign32_L111_C9")] + public _Anonymous_e__Union Anonymous; + + /// + + public HWND hwnd; + + /// + + [UnscopedRef] + public ref ushort* pwszSpcFile + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pwszSpcFile; } + } + + /// + + [UnscopedRef] + public ref SIGNER_CERT_STORE_INFO* pCertStoreInfo + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pCertStoreInfo; } + } + + /// + + [UnscopedRef] + public ref SIGNER_SPC_CHAIN_INFO* pSpcChainInfo + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pSpcChainInfo; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("LPCWSTR")] + public ushort* pwszSpcFile; + + /// + + [FieldOffset(0)] + public SIGNER_CERT_STORE_INFO* pCertStoreInfo; + + /// + + [FieldOffset(0)] + public SIGNER_SPC_CHAIN_INFO* pSpcChainInfo; + } +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_CERT_STORE_INFO.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_CERT_STORE_INFO.gen.cs new file mode 100644 index 0000000000..ea5089918c --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_CERT_STORE_INFO.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_CERT_STORE_INFO +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("PCCERT_CONTEXT")] + public CERT_CONTEXT* pSigningCert; + + /// + + [NativeTypeName("DWORD")] + public uint dwCertPolicy; + + /// + + public HCERTSTORE hCertStore; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_CONTEXT.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_CONTEXT.gen.cs new file mode 100644 index 0000000000..a35330201f --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_CONTEXT.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_CONTEXT +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("DWORD")] + public uint cbBlob; + + /// + + public byte* pbBlob; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_FILE_INFO.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_FILE_INFO.gen.cs new file mode 100644 index 0000000000..1bc65453e2 --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_FILE_INFO.gen.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_FILE_INFO +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* pwszFileName; + + /// + + public HANDLE hFile; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_PROVIDER_INFO.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_PROVIDER_INFO.gen.cs new file mode 100644 index 0000000000..981ab487d3 --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_PROVIDER_INFO.gen.cs @@ -0,0 +1,78 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_PROVIDER_INFO +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* pwszProviderName; + + /// + + [NativeTypeName("DWORD")] + public uint dwProviderType; + + /// + + [NativeTypeName("DWORD")] + public uint dwKeySpec; + + /// + + [NativeTypeName("DWORD")] + public uint dwPvkChoice; + + /// + + [NativeTypeName("__AnonymousRecord_mssign32_L74_C9")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref ushort* pwszPvkFileName + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pwszPvkFileName; } + } + + /// + + [UnscopedRef] + public ref ushort* pwszKeyContainer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pwszKeyContainer; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + [NativeTypeName("LPWSTR")] + public ushort* pwszPvkFileName; + + /// + + [FieldOffset(0)] + [NativeTypeName("LPWSTR")] + public ushort* pwszKeyContainer; + } +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_SIGNATURE_INFO.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_SIGNATURE_INFO.gen.cs new file mode 100644 index 0000000000..19569e93b7 --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_SIGNATURE_INFO.gen.cs @@ -0,0 +1,62 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_SIGNATURE_INFO +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("ALG_ID")] + public uint algidHash; + + /// + + [NativeTypeName("DWORD")] + public uint dwAttrChoice; + + /// + + [NativeTypeName("__AnonymousRecord_mssign32_L55_C9")] + public _Anonymous_e__Union Anonymous; + + /// + + [NativeTypeName("PCRYPT_ATTRIBUTES")] + public CRYPT_ATTRIBUTES* psAuthenticated; + + /// + + [NativeTypeName("PCRYPT_ATTRIBUTES")] + public CRYPT_ATTRIBUTES* psUnauthenticated; + + /// + + [UnscopedRef] + public ref SIGNER_ATTR_AUTHCODE* pAttrAuthcode + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pAttrAuthcode; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public SIGNER_ATTR_AUTHCODE* pAttrAuthcode; + } +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_SIGN_EX2_PARAMS.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_SIGN_EX2_PARAMS.gen.cs new file mode 100644 index 0000000000..63e54a87ce --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_SIGN_EX2_PARAMS.gen.cs @@ -0,0 +1,73 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_SIGN_EX2_PARAMS +{ + /// + + [NativeTypeName("DWORD")] + public uint dwFlags; + + /// + + [NativeTypeName("PSIGNER_SUBJECT_INFO")] + public SIGNER_SUBJECT_INFO* pSubjectInfo; + + /// + + [NativeTypeName("PSIGNER_CERT")] + public SIGNER_CERT* pSigningCert; + + /// + + [NativeTypeName("PSIGNER_SIGNATURE_INFO")] + public SIGNER_SIGNATURE_INFO* pSignatureInfo; + + /// + + [NativeTypeName("PSIGNER_PROVIDER_INFO")] + public SIGNER_PROVIDER_INFO* pProviderInfo; + + /// + + [NativeTypeName("DWORD")] + public uint dwTimestampFlags; + + /// + + [NativeTypeName("PCSTR")] + public sbyte* pszAlgorithmOid; + + /// + + [NativeTypeName("PCWSTR")] + public ushort* pwszTimestampURL; + + /// + + [NativeTypeName("PCRYPT_ATTRIBUTES")] + public CRYPT_ATTRIBUTES* pCryptAttrs; + + /// + + [NativeTypeName("PVOID")] + public void* pSipData; + + /// + + [NativeTypeName("PSIGNER_CONTEXT *")] + public SIGNER_CONTEXT** pSignerContext; + + /// + + [NativeTypeName("PVOID")] + public void* pCryptoPolicy; + + /// + + [NativeTypeName("PVOID")] + public void* pReserved; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_SPC_CHAIN_INFO.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_SPC_CHAIN_INFO.gen.cs new file mode 100644 index 0000000000..a3fdfc2d6e --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_SPC_CHAIN_INFO.gen.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_SPC_CHAIN_INFO +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("LPCWSTR")] + public ushort* pwszSpcFile; + + /// + + [NativeTypeName("DWORD")] + public uint dwCertPolicy; + + /// + + public HCERTSTORE hCertStore; +} diff --git a/sources/Windows/Windows/other/mssign32/SIGNER_SUBJECT_INFO.gen.cs b/sources/Windows/Windows/other/mssign32/SIGNER_SUBJECT_INFO.gen.cs new file mode 100644 index 0000000000..1f1b35000b --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/SIGNER_SUBJECT_INFO.gen.cs @@ -0,0 +1,66 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; + +/// +public unsafe partial struct SIGNER_SUBJECT_INFO +{ + /// + + [NativeTypeName("DWORD")] + public uint cbSize; + + /// + + [NativeTypeName("DWORD *")] + public uint* pdwIndex; + + /// + + [NativeTypeName("DWORD")] + public uint dwSubjectChoice; + + /// + + [NativeTypeName("__AnonymousRecord_mssign32_L30_C9")] + public _Anonymous_e__Union Anonymous; + + /// + + [UnscopedRef] + public ref SIGNER_FILE_INFO* pSignerFileInfo + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pSignerFileInfo; } + } + + /// + + [UnscopedRef] + public ref SIGNER_BLOB_INFO* pSignerBlobInfo + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get { return ref Anonymous.pSignerBlobInfo; } + } + + /// + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + /// + + [FieldOffset(0)] + public SIGNER_FILE_INFO* pSignerFileInfo; + + /// + + [FieldOffset(0)] + public SIGNER_BLOB_INFO* pSignerBlobInfo; + } +} diff --git a/sources/Windows/Windows/other/mssign32/Windows.gen.cs b/sources/Windows/Windows/other/mssign32/Windows.gen.cs new file mode 100644 index 0000000000..27bc15798c --- /dev/null +++ b/sources/Windows/Windows/other/mssign32/Windows.gen.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows; + +public static unsafe partial class Windows +{ + /// + + [DllImport("mssign32", ExactSpelling = true)] + public static extern HRESULT SignerSignEx2( + [NativeTypeName("DWORD")] uint dwFlags, + SIGNER_SUBJECT_INFO* pSubjectInfo, + SIGNER_CERT* pSignerCert, + SIGNER_SIGNATURE_INFO* pSignatureInfo, + SIGNER_PROVIDER_INFO* pProviderInfo, + [NativeTypeName("DWORD")] uint dwTimestampFlags, + [NativeTypeName("PCSTR")] sbyte* pszTimestampAlgorithmOid, + [NativeTypeName("PCWSTR")] ushort* pwszHttpTimeStamp, + [NativeTypeName("PCRYPT_ATTRIBUTES")] CRYPT_ATTRIBUTES* psRequest, + [NativeTypeName("PVOID")] void* pSipData, + SIGNER_CONTEXT** ppSignerContext, + [NativeTypeName("PCERT_STRONG_SIGN_PARA")] CERT_STRONG_SIGN_PARA* pCryptoPolicy, + [NativeTypeName("PVOID")] void* pReserved + ); + + [NativeTypeName("#define PVK_TYPE_FILE_NAME 0x01")] + public const int PVK_TYPE_FILE_NAME = 0x01; + + [NativeTypeName("#define PVK_TYPE_KEYCONTAINER 0x02")] + public const int PVK_TYPE_KEYCONTAINER = 0x02; +} diff --git a/tests/Windows/DirectX/headers/d3d12/CLSIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/CLSIDTests.gen.cs new file mode 100644 index 0000000000..ceb07cae43 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/CLSIDTests.gen.cs @@ -0,0 +1,77 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.CLSID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class CLSIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void CLSID_D3D12DebugTest() + { + Assert.That( + CLSID_D3D12Debug, + Is.EqualTo( + new Guid(0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void CLSID_D3D12ToolsTest() + { + Assert.That( + CLSID_D3D12Tools, + Is.EqualTo( + new Guid(0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void CLSID_D3D12DeviceRemovedExtendedDataTest() + { + Assert.That( + CLSID_D3D12DeviceRemovedExtendedData, + Is.EqualTo( + new Guid(0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void CLSID_D3D12SDKConfigurationTest() + { + Assert.That( + CLSID_D3D12SDKConfiguration, + Is.EqualTo( + new Guid(0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void CLSID_D3D12DeviceFactoryTest() + { + Assert.That( + CLSID_D3D12DeviceFactory, + Is.EqualTo( + new Guid(0x114863bf, 0xc386, 0x4aee, 0xb3, 0x9d, 0x8f, 0x0b, 0xbb, 0x06, 0x29, 0x55) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12Tests.gen.cs new file mode 100644 index 0000000000..11a4965384 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12Tests.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.D3D12; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static partial class D3D12Tests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTEDTest() + { + Assert.That( + D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, + Is.EqualTo( + new Guid(0x62B0084E, 0xC70E, 0x4DAA, 0xA1, 0x09, 0x30, 0xFF, 0x8D, 0x5A, 0x04, 0x82) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE1Tests.gen.cs new file mode 100644 index 0000000000..fddd5e9071 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODE1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_AUTO_BREADCRUMB_NODE1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_AUTO_BREADCRUMB_NODE1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_AUTO_BREADCRUMB_NODE1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_AUTO_BREADCRUMB_NODE1), Is.EqualTo(96)); + } + else + { + Assert.That(sizeof(D3D12_AUTO_BREADCRUMB_NODE1), Is.EqualTo(48)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODETests.gen.cs new file mode 100644 index 0000000000..4d1276484c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_AUTO_BREADCRUMB_NODETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_AUTO_BREADCRUMB_NODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_AUTO_BREADCRUMB_NODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_AUTO_BREADCRUMB_NODE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_AUTO_BREADCRUMB_NODE), Is.EqualTo(80)); + } + else + { + Assert.That(sizeof(D3D12_AUTO_BREADCRUMB_NODE), Is.EqualTo(40)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BARRIER_GROUPTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BARRIER_GROUPTests.gen.cs new file mode 100644 index 0000000000..ba739124c8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BARRIER_GROUPTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BARRIER_GROUPTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_BARRIER_GROUP))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BARRIER_GROUP).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_BARRIER_GROUP), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_BARRIER_GROUP), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SUBRESOURCE_RANGETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SUBRESOURCE_RANGETests.gen.cs new file mode 100644 index 0000000000..31600a6773 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BARRIER_SUBRESOURCE_RANGETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BARRIER_SUBRESOURCE_RANGETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_BARRIER_SUBRESOURCE_RANGE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BARRIER_SUBRESOURCE_RANGE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BARRIER_SUBRESOURCE_RANGE), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BLEND_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BLEND_DESCTests.gen.cs new file mode 100644 index 0000000000..a82cc483c1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BLEND_DESCTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BLEND_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_BLEND_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BLEND_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BLEND_DESC), Is.EqualTo(328)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BOXTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BOXTests.gen.cs new file mode 100644 index 0000000000..79b9c5175c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BOXTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BOXTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_BOX))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BOX).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BOX), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_BARRIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_BARRIERTests.gen.cs new file mode 100644 index 0000000000..c6282e458f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_BARRIERTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BUFFER_BARRIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_BUFFER_BARRIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BUFFER_BARRIER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BUFFER_BARRIER), Is.EqualTo(40)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_RTVTests.gen.cs new file mode 100644 index 0000000000..d434c5ec5b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_RTVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BUFFER_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_BUFFER_RTV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BUFFER_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BUFFER_RTV), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRVTests.gen.cs new file mode 100644 index 0000000000..faffa2f263 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_SRVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BUFFER_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_BUFFER_SRV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BUFFER_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BUFFER_SRV), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAVTests.gen.cs new file mode 100644 index 0000000000..038817ba8a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BUFFER_UAVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BUFFER_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_BUFFER_UAV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_BUFFER_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BUFFER_UAV), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESCTests.gen.cs new file mode 100644 index 0000000000..5efd58edb6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC), Is.EqualTo(48)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTSTests.gen.cs new file mode 100644 index 0000000000..fc49361e09 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADERTests.gen.cs new file mode 100644 index 0000000000..6f6648c98d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo( + sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER) + ) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER), + Is.EqualTo(8) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_CACHED_PIPELINE_STATETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_CACHED_PIPELINE_STATETests.gen.cs new file mode 100644 index 0000000000..ad307da2fa --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_CACHED_PIPELINE_STATETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_CACHED_PIPELINE_STATETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_CACHED_PIPELINE_STATE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_CACHED_PIPELINE_STATE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_CACHED_PIPELINE_STATE), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_CACHED_PIPELINE_STATE), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_CLEAR_VALUETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_CLEAR_VALUETests.gen.cs new file mode 100644 index 0000000000..9acd281e67 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_CLEAR_VALUETests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_CLEAR_VALUETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_CLEAR_VALUE))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_CLEAR_VALUE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_CLEAR_VALUE), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_DESCTests.gen.cs new file mode 100644 index 0000000000..2910fccaa0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_COMMAND_QUEUE_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_COMMAND_QUEUE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_COMMAND_QUEUE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_COMMAND_QUEUE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_COMMAND_QUEUE_DESC), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_COMMAND_SIGNATURE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_COMMAND_SIGNATURE_DESCTests.gen.cs new file mode 100644 index 0000000000..99e17fa5ce --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_COMMAND_SIGNATURE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_COMMAND_SIGNATURE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_COMMAND_SIGNATURE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_COMMAND_SIGNATURE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_COMMAND_SIGNATURE_DESC), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_COMMAND_SIGNATURE_DESC), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_COMPUTE_PIPELINE_STATE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_COMPUTE_PIPELINE_STATE_DESCTests.gen.cs new file mode 100644 index 0000000000..4b32a4b28a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_COMPUTE_PIPELINE_STATE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_COMPUTE_PIPELINE_STATE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_COMPUTE_PIPELINE_STATE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_COMPUTE_PIPELINE_STATE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_COMPUTE_PIPELINE_STATE_DESC), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_COMPUTE_PIPELINE_STATE_DESC), Is.EqualTo(28)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_CONSTANT_BUFFER_VIEW_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_CONSTANT_BUFFER_VIEW_DESCTests.gen.cs new file mode 100644 index 0000000000..9e57a4cd75 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_CONSTANT_BUFFER_VIEW_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_CONSTANT_BUFFER_VIEW_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_CONSTANT_BUFFER_VIEW_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_CONSTANT_BUFFER_VIEW_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_CONSTANT_BUFFER_VIEW_DESC), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_CPU_DESCRIPTOR_HANDLETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_CPU_DESCRIPTOR_HANDLETests.gen.cs new file mode 100644 index 0000000000..f0b58b6689 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_CPU_DESCRIPTOR_HANDLETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_CPU_DESCRIPTOR_HANDLETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_CPU_DESCRIPTOR_HANDLE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_CPU_DESCRIPTOR_HANDLE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_CPU_DESCRIPTOR_HANDLE), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D12_CPU_DESCRIPTOR_HANDLE), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC1Tests.gen.cs new file mode 100644 index 0000000000..802e9247ab --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESC1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEPTH_STENCILOP_DESC1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEPTH_STENCILOP_DESC1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEPTH_STENCILOP_DESC1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEPTH_STENCILOP_DESC1), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESCTests.gen.cs new file mode 100644 index 0000000000..d6a190d9db --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCILOP_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEPTH_STENCILOP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEPTH_STENCILOP_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEPTH_STENCILOP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEPTH_STENCILOP_DESC), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC1Tests.gen.cs new file mode 100644 index 0000000000..24632e41a8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEPTH_STENCIL_DESC1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEPTH_STENCIL_DESC1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEPTH_STENCIL_DESC1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEPTH_STENCIL_DESC1), Is.EqualTo(56)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC2Tests.gen.cs new file mode 100644 index 0000000000..d8fcae34cc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESC2Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEPTH_STENCIL_DESC2Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEPTH_STENCIL_DESC2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEPTH_STENCIL_DESC2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEPTH_STENCIL_DESC2), Is.EqualTo(60)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESCTests.gen.cs new file mode 100644 index 0000000000..28d800148b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEPTH_STENCIL_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEPTH_STENCIL_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEPTH_STENCIL_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEPTH_STENCIL_DESC), Is.EqualTo(52)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VALUETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VALUETests.gen.cs new file mode 100644 index 0000000000..caeea52f7d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VALUETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEPTH_STENCIL_VALUETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEPTH_STENCIL_VALUE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEPTH_STENCIL_VALUE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEPTH_STENCIL_VALUE), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VIEW_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VIEW_DESCTests.gen.cs new file mode 100644 index 0000000000..4f658484b3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEPTH_STENCIL_VIEW_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEPTH_STENCIL_VIEW_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEPTH_STENCIL_VIEW_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEPTH_STENCIL_VIEW_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEPTH_STENCIL_VIEW_DESC), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_DESCTests.gen.cs new file mode 100644 index 0000000000..b78ac1bbe6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_HEAP_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DESCRIPTOR_HEAP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DESCRIPTOR_HEAP_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DESCRIPTOR_HEAP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DESCRIPTOR_HEAP_DESC), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE1Tests.gen.cs new file mode 100644 index 0000000000..70821e8af6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGE1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DESCRIPTOR_RANGE1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DESCRIPTOR_RANGE1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DESCRIPTOR_RANGE1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DESCRIPTOR_RANGE1), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGETests.gen.cs new file mode 100644 index 0000000000..fcd2393e45 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DESCRIPTOR_RANGETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DESCRIPTOR_RANGETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DESCRIPTOR_RANGE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DESCRIPTOR_RANGE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DESCRIPTOR_RANGE), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_CONFIGURATION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_CONFIGURATION_DESCTests.gen.cs new file mode 100644 index 0000000000..6d6850cd52 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_CONFIGURATION_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEVICE_CONFIGURATION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEVICE_CONFIGURATION_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEVICE_CONFIGURATION_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEVICE_CONFIGURATION_DESC), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA1Tests.gen.cs new file mode 100644 index 0000000000..65fb82b258 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEVICE_REMOVED_EXTENDED_DATA1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA1), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA1), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA2Tests.gen.cs new file mode 100644 index 0000000000..e2ffa6dbad --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA2Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEVICE_REMOVED_EXTENDED_DATA2Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA2), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA2), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA3Tests.gen.cs new file mode 100644 index 0000000000..d1cb652924 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATA3Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEVICE_REMOVED_EXTENDED_DATA3Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA3)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA3), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA3), Is.EqualTo(40)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATATests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATATests.gen.cs new file mode 100644 index 0000000000..8b9bd20550 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DEVICE_REMOVED_EXTENDED_DATATests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEVICE_REMOVED_EXTENDED_DATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_DEVICE_REMOVED_EXTENDED_DATA), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DISCARD_REGIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DISCARD_REGIONTests.gen.cs new file mode 100644 index 0000000000..0e2e4125b0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DISCARD_REGIONTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DISCARD_REGIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DISCARD_REGION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DISCARD_REGION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DISCARD_REGION), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_DISCARD_REGION), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..feb2248061 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_ARGUMENTSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DISPATCH_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DISPATCH_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DISPATCH_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DISPATCH_ARGUMENTS), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_MESH_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_MESH_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..80862875f1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_MESH_ARGUMENTSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DISPATCH_MESH_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DISPATCH_MESH_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DISPATCH_MESH_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DISPATCH_MESH_ARGUMENTS), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_RAYS_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_RAYS_DESCTests.gen.cs new file mode 100644 index 0000000000..41af76566d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DISPATCH_RAYS_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DISPATCH_RAYS_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DISPATCH_RAYS_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DISPATCH_RAYS_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DISPATCH_RAYS_DESC), Is.EqualTo(104)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRAW_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRAW_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..36c85164a9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRAW_ARGUMENTSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRAW_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRAW_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRAW_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DRAW_ARGUMENTS), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRAW_INDEXED_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRAW_INDEXED_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..0323a0fa54 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRAW_INDEXED_ARGUMENTSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRAW_INDEXED_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRAW_INDEXED_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRAW_INDEXED_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DRAW_INDEXED_ARGUMENTS), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE1Tests.gen.cs new file mode 100644 index 0000000000..6b9083d450 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODE1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_ALLOCATION_NODE1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_ALLOCATION_NODE1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_ALLOCATION_NODE1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_ALLOCATION_NODE1), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_DRED_ALLOCATION_NODE1), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODETests.gen.cs new file mode 100644 index 0000000000..654b5a50ee --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_ALLOCATION_NODETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_ALLOCATION_NODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_ALLOCATION_NODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_ALLOCATION_NODE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_ALLOCATION_NODE), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_DRED_ALLOCATION_NODE), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1Tests.gen.cs new file mode 100644 index 0000000000..a5aaafb489 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUTTests.gen.cs new file mode 100644 index 0000000000..bfa5f203be --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_AUTO_BREADCRUMBS_OUTPUTTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_AUTO_BREADCRUMBS_OUTPUTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_BREADCRUMB_CONTEXTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_BREADCRUMB_CONTEXTTests.gen.cs new file mode 100644 index 0000000000..6142f17ff3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_BREADCRUMB_CONTEXTTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_BREADCRUMB_CONTEXTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_BREADCRUMB_CONTEXT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_BREADCRUMB_CONTEXT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_BREADCRUMB_CONTEXT), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_DRED_BREADCRUMB_CONTEXT), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT1Tests.gen.cs new file mode 100644 index 0000000000..74ef6bc49b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_PAGE_FAULT_OUTPUT1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_PAGE_FAULT_OUTPUT1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT1), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT1), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT2Tests.gen.cs new file mode 100644 index 0000000000..fe45bce901 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUT2Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_PAGE_FAULT_OUTPUT2Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_PAGE_FAULT_OUTPUT2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT2), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT2), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUTTests.gen.cs new file mode 100644 index 0000000000..e594320535 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DRED_PAGE_FAULT_OUTPUTTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DRED_PAGE_FAULT_OUTPUTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DRED_PAGE_FAULT_OUTPUT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DXIL_LIBRARY_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DXIL_LIBRARY_DESCTests.gen.cs new file mode 100644 index 0000000000..905ce78132 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DXIL_LIBRARY_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DXIL_LIBRARY_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DXIL_LIBRARY_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_DXIL_LIBRARY_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DXIL_LIBRARY_DESC), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_DXIL_LIBRARY_DESC), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests.gen.cs new file mode 100644 index 0000000000..6f791bda40 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_EXISTING_COLLECTION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_EXISTING_COLLECTION_DESCTests.gen.cs new file mode 100644 index 0000000000..0e34ad317f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_EXISTING_COLLECTION_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_EXISTING_COLLECTION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_EXISTING_COLLECTION_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_EXISTING_COLLECTION_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_EXISTING_COLLECTION_DESC), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_EXISTING_COLLECTION_DESC), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_EXPORT_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_EXPORT_DESCTests.gen.cs new file mode 100644 index 0000000000..d0c63576ce --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_EXPORT_DESCTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_EXPORT_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_EXPORT_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_EXPORT_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_EXPORT_DESC), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_EXPORT_DESC), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE1Tests.gen.cs new file mode 100644 index 0000000000..26f3d4e86b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURE1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_ARCHITECTURE1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_ARCHITECTURE1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_ARCHITECTURE1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_ARCHITECTURE1), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURETests.gen.cs new file mode 100644 index 0000000000..8656ff8d2b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ARCHITECTURETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_ARCHITECTURETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_ARCHITECTURE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_ARCHITECTURE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_ARCHITECTURE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITYTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITYTests.gen.cs new file mode 100644 index 0000000000..bebe36ff30 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITYTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITYTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_CROSS_NODETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_CROSS_NODETests.gen.cs new file mode 100644 index 0000000000..958e68f241 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_CROSS_NODETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_CROSS_NODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_CROSS_NODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_CROSS_NODE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_CROSS_NODE), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS10Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS10Tests.gen.cs new file mode 100644 index 0000000000..b771a92602 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS10Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS10Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS10)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS10).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS10), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS11Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS11Tests.gen.cs new file mode 100644 index 0000000000..cf82d7660b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS11Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS11Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS11)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS11).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS11), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS12Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS12Tests.gen.cs new file mode 100644 index 0000000000..0c0e4921ff --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS12Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS12Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS12)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS12).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS12), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS13Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS13Tests.gen.cs new file mode 100644 index 0000000000..8db64796ce --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS13Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS13Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS13)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS13).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS13), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS14Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS14Tests.gen.cs new file mode 100644 index 0000000000..2a892f11d7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS14Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS14Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS14)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS14).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS14), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS15Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS15Tests.gen.cs new file mode 100644 index 0000000000..29658724ab --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS15Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS15Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS15)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS15).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS15), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS1Tests.gen.cs new file mode 100644 index 0000000000..3ef1585468 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS1), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS2Tests.gen.cs new file mode 100644 index 0000000000..cbf3b904c6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS2Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS2Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS2), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS3Tests.gen.cs new file mode 100644 index 0000000000..e886a555fb --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS3Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS3Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS3)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS3), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS4Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS4Tests.gen.cs new file mode 100644 index 0000000000..dffeaf4ad6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS4Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS4Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS4)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS4).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS4), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS5Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS5Tests.gen.cs new file mode 100644 index 0000000000..53bfb3906d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS5Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS5Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS5)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS5).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS5), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS6Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS6Tests.gen.cs new file mode 100644 index 0000000000..c243079999 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS6Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS6Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS6)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS6).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS6), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS7Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS7Tests.gen.cs new file mode 100644 index 0000000000..edc32cc21b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS7Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS7Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS7)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS7).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS7), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS8Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS8Tests.gen.cs new file mode 100644 index 0000000000..cb0b60eb12 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS8Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS8Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS8)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS8).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS8), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS9Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS9Tests.gen.cs new file mode 100644 index 0000000000..f09b762b2a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONS9Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONS9Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS9)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS9).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS9), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONSTests.gen.cs new file mode 100644 index 0000000000..37128d0bec --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_D3D12_OPTIONSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_D3D12_OPTIONSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_D3D12_OPTIONS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS), Is.EqualTo(60)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_DISPLAYABLETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_DISPLAYABLETests.gen.cs new file mode 100644 index 0000000000..5c51b044f1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_DISPLAYABLETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_DISPLAYABLETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_DISPLAYABLE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_DISPLAYABLE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_DISPLAYABLE), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_EXISTING_HEAPSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_EXISTING_HEAPSTests.gen.cs new file mode 100644 index 0000000000..2d137a2380 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_EXISTING_HEAPSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_EXISTING_HEAPSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_EXISTING_HEAPS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_EXISTING_HEAPS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_EXISTING_HEAPS), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FEATURE_LEVELSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FEATURE_LEVELSTests.gen.cs new file mode 100644 index 0000000000..ab83d34057 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FEATURE_LEVELSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_FEATURE_LEVELSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_FEATURE_LEVELS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_FEATURE_LEVELS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_FEATURE_LEVELS), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_FEATURE_LEVELS), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_INFOTests.gen.cs new file mode 100644 index 0000000000..3c1146a62e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_INFOTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_FORMAT_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_FORMAT_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_FORMAT_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_FORMAT_INFO), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..7270e71f0f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_FORMAT_SUPPORTTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_FORMAT_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_FORMAT_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_FORMAT_SUPPORT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_FORMAT_SUPPORT), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..5c30cac04f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORTTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELSTests.gen.cs new file mode 100644 index 0000000000..d7bdd6116f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..12680e4338 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORTTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPESTests.gen.cs new file mode 100644 index 0000000000..c3f6eb2707 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPESTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES), + Is.EqualTo(16) + ); + } + else + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES), + Is.EqualTo(12) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNTTests.gen.cs new file mode 100644 index 0000000000..6b5753f4dc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNTTests.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT), + Is.EqualTo(8) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_QUERY_META_COMMANDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_QUERY_META_COMMANDTests.gen.cs new file mode 100644 index 0000000000..5754817820 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_QUERY_META_COMMANDTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_QUERY_META_COMMANDTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_QUERY_META_COMMAND)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_QUERY_META_COMMAND).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_QUERY_META_COMMAND), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_QUERY_META_COMMAND), Is.EqualTo(36)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ROOT_SIGNATURETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ROOT_SIGNATURETests.gen.cs new file mode 100644 index 0000000000..85bf3b42fa --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_ROOT_SIGNATURETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_ROOT_SIGNATURETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_ROOT_SIGNATURE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_ROOT_SIGNATURE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_ROOT_SIGNATURE), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SERIALIZATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SERIALIZATIONTests.gen.cs new file mode 100644 index 0000000000..a67b9c0bbc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SERIALIZATIONTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_SERIALIZATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_SERIALIZATION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_SERIALIZATION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_SERIALIZATION), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_CACHETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_CACHETests.gen.cs new file mode 100644 index 0000000000..3463d4ffc6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_CACHETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_SHADER_CACHETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_SHADER_CACHE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_SHADER_CACHE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_SHADER_CACHE), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_MODELTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_MODELTests.gen.cs new file mode 100644 index 0000000000..7f22c4e15e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_FEATURE_DATA_SHADER_MODELTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_SHADER_MODELTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_SHADER_MODEL)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_SHADER_MODEL).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_SHADER_MODEL), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_BARRIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_BARRIERTests.gen.cs new file mode 100644 index 0000000000..1a7833a2e8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_BARRIERTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_GLOBAL_BARRIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_GLOBAL_BARRIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_GLOBAL_BARRIER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_GLOBAL_BARRIER), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_ROOT_SIGNATURETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_ROOT_SIGNATURETests.gen.cs new file mode 100644 index 0000000000..3370d6afcf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_GLOBAL_ROOT_SIGNATURETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_GLOBAL_ROOT_SIGNATURETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_GLOBAL_ROOT_SIGNATURE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_GLOBAL_ROOT_SIGNATURE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_GLOBAL_ROOT_SIGNATURE), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D12_GLOBAL_ROOT_SIGNATURE), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_DESCRIPTOR_HANDLETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_DESCRIPTOR_HANDLETests.gen.cs new file mode 100644 index 0000000000..b7278e826f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_DESCRIPTOR_HANDLETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_GPU_DESCRIPTOR_HANDLETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_GPU_DESCRIPTOR_HANDLE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_GPU_DESCRIPTOR_HANDLE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_GPU_DESCRIPTOR_HANDLE), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDETests.gen.cs new file mode 100644 index 0000000000..64d1f1f70e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGETests.gen.cs new file mode 100644 index 0000000000..76291f0917 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_GPU_VIRTUAL_ADDRESS_RANGETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDETests.gen.cs new file mode 100644 index 0000000000..043e7726bf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_PIPELINE_STATE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_PIPELINE_STATE_DESCTests.gen.cs new file mode 100644 index 0000000000..2f0feefe7f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_GRAPHICS_PIPELINE_STATE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_GRAPHICS_PIPELINE_STATE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_GRAPHICS_PIPELINE_STATE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_GRAPHICS_PIPELINE_STATE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_GRAPHICS_PIPELINE_STATE_DESC), Is.EqualTo(656)); + } + else + { + Assert.That(sizeof(D3D12_GRAPHICS_PIPELINE_STATE_DESC), Is.EqualTo(572)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_HEAP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_HEAP_DESCTests.gen.cs new file mode 100644 index 0000000000..02070346bd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_HEAP_DESCTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_HEAP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_HEAP_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_HEAP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_HEAP_DESC), Is.EqualTo(48)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_HEAP_PROPERTIESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_HEAP_PROPERTIESTests.gen.cs new file mode 100644 index 0000000000..c03adba31c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_HEAP_PROPERTIESTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_HEAP_PROPERTIESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_HEAP_PROPERTIES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_HEAP_PROPERTIES).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_HEAP_PROPERTIES), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_DESCTests.gen.cs new file mode 100644 index 0000000000..50e552e59c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_HIT_GROUP_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_HIT_GROUP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_HIT_GROUP_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_HIT_GROUP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_HIT_GROUP_DESC), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_HIT_GROUP_DESC), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_VIEWTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_VIEWTests.gen.cs new file mode 100644 index 0000000000..c3b2a36199 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_INDEX_BUFFER_VIEWTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_INDEX_BUFFER_VIEWTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_INDEX_BUFFER_VIEW)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_INDEX_BUFFER_VIEW).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_INDEX_BUFFER_VIEW), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_DESCTests.gen.cs new file mode 100644 index 0000000000..0c30b8dab8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_INDIRECT_ARGUMENT_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_INDIRECT_ARGUMENT_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_INDIRECT_ARGUMENT_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_INDIRECT_ARGUMENT_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_INDIRECT_ARGUMENT_DESC), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_INPUT_ELEMENT_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_INPUT_ELEMENT_DESCTests.gen.cs new file mode 100644 index 0000000000..8f20beabb8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_INPUT_ELEMENT_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_INPUT_ELEMENT_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_INPUT_ELEMENT_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_INPUT_ELEMENT_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_INPUT_ELEMENT_DESC), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_INPUT_ELEMENT_DESC), Is.EqualTo(28)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_INPUT_LAYOUT_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_INPUT_LAYOUT_DESCTests.gen.cs new file mode 100644 index 0000000000..585a05d406 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_INPUT_LAYOUT_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_INPUT_LAYOUT_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_INPUT_LAYOUT_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_INPUT_LAYOUT_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_INPUT_LAYOUT_DESC), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_INPUT_LAYOUT_DESC), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_LOCAL_ROOT_SIGNATURETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_LOCAL_ROOT_SIGNATURETests.gen.cs new file mode 100644 index 0000000000..ba2d59df76 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_LOCAL_ROOT_SIGNATURETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_LOCAL_ROOT_SIGNATURETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_LOCAL_ROOT_SIGNATURE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_LOCAL_ROOT_SIGNATURE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_LOCAL_ROOT_SIGNATURE), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D12_LOCAL_ROOT_SIGNATURE), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_MEMCPY_DESTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_MEMCPY_DESTTests.gen.cs new file mode 100644 index 0000000000..0e9fee7b8f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_MEMCPY_DESTTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_MEMCPY_DESTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_MEMCPY_DEST))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_MEMCPY_DEST).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_MEMCPY_DEST), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_MEMCPY_DEST), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_DESCTests.gen.cs new file mode 100644 index 0000000000..4e93e7c565 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_META_COMMAND_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_META_COMMAND_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_META_COMMAND_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_META_COMMAND_DESC), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_META_COMMAND_DESC), Is.EqualTo(28)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_DESCTests.gen.cs new file mode 100644 index 0000000000..1b2ac32f68 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_META_COMMAND_PARAMETER_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_META_COMMAND_PARAMETER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_META_COMMAND_PARAMETER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_META_COMMAND_PARAMETER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_META_COMMAND_PARAMETER_DESC), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_META_COMMAND_PARAMETER_DESC), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_MIP_REGIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_MIP_REGIONTests.gen.cs new file mode 100644 index 0000000000..cfb2244124 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_MIP_REGIONTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_MIP_REGIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_MIP_REGION))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_MIP_REGION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_MIP_REGION), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_NODE_MASKTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_NODE_MASKTests.gen.cs new file mode 100644 index 0000000000..9ba1067212 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_NODE_MASKTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_NODE_MASKTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_NODE_MASK))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_NODE_MASK).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_NODE_MASK), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_PACKED_MIP_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_PACKED_MIP_INFOTests.gen.cs new file mode 100644 index 0000000000..70a5478cd1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_PACKED_MIP_INFOTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_PACKED_MIP_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_PACKED_MIP_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_PACKED_MIP_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_PACKED_MIP_INFO), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_STREAM_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_STREAM_DESCTests.gen.cs new file mode 100644 index 0000000000..a659ac5368 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_PIPELINE_STATE_STREAM_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_PIPELINE_STATE_STREAM_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_PIPELINE_STATE_STREAM_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_PIPELINE_STATE_STREAM_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_PIPELINE_STATE_STREAM_DESC), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_PIPELINE_STATE_STREAM_DESC), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_PLACED_SUBRESOURCE_FOOTPRINTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_PLACED_SUBRESOURCE_FOOTPRINTTests.gen.cs new file mode 100644 index 0000000000..441693e53c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_PLACED_SUBRESOURCE_FOOTPRINTTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_PLACED_SUBRESOURCE_FOOTPRINTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC1Tests.gen.cs new file mode 100644 index 0000000000..80174be476 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESC1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_PROTECTED_RESOURCE_SESSION_DESC1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC1), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESCTests.gen.cs new file mode 100644 index 0000000000..57a90291f3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_PROTECTED_RESOURCE_SESSION_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_PROTECTED_RESOURCE_SESSION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS1Tests.gen.cs new file mode 100644 index 0000000000..7e665c4a1d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICS1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_QUERY_DATA_PIPELINE_STATISTICS1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_QUERY_DATA_PIPELINE_STATISTICS1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_QUERY_DATA_PIPELINE_STATISTICS1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_QUERY_DATA_PIPELINE_STATISTICS1), Is.EqualTo(112)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICSTests.gen.cs new file mode 100644 index 0000000000..31e37195d9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_PIPELINE_STATISTICSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_QUERY_DATA_PIPELINE_STATISTICSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_QUERY_DATA_PIPELINE_STATISTICS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_QUERY_DATA_PIPELINE_STATISTICS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_QUERY_DATA_PIPELINE_STATISTICS), Is.EqualTo(88)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_SO_STATISTICSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_SO_STATISTICSTests.gen.cs new file mode 100644 index 0000000000..4117c6db31 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_DATA_SO_STATISTICSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_QUERY_DATA_SO_STATISTICSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_QUERY_DATA_SO_STATISTICS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_QUERY_DATA_SO_STATISTICS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_QUERY_DATA_SO_STATISTICS), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_DESCTests.gen.cs new file mode 100644 index 0000000000..b0ed36f545 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_QUERY_HEAP_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_QUERY_HEAP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_QUERY_HEAP_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_QUERY_HEAP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_QUERY_HEAP_DESC), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RANGETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RANGETests.gen.cs new file mode 100644 index 0000000000..892012cb34 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RANGETests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RANGETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_RANGE))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RANGE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RANGE), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_RANGE), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RANGE_UINT64Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RANGE_UINT64Tests.gen.cs new file mode 100644 index 0000000000..a508c544d9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RANGE_UINT64Tests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RANGE_UINT64Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_RANGE_UINT64))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RANGE_UINT64).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RANGE_UINT64), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RASTERIZER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RASTERIZER_DESCTests.gen.cs new file mode 100644 index 0000000000..7d8c2c93cc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RASTERIZER_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RASTERIZER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RASTERIZER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RASTERIZER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RASTERIZER_DESC), Is.EqualTo(44)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_AABBTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_AABBTests.gen.cs new file mode 100644 index 0000000000..44b357def5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_AABBTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_AABBTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_AABB)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_AABB).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_AABB), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESCTests.gen.cs new file mode 100644 index 0000000000..1d450e4d30 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC) + ) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC), + Is.EqualTo(8) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESCTests.gen.cs new file mode 100644 index 0000000000..68ac01d902 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC) + ) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC), + Is.EqualTo(8) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESCTests.gen.cs new file mode 100644 index 0000000000..eb451be2ba --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESCTests.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC), + Is.EqualTo(16) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESCTests.gen.cs new file mode 100644 index 0000000000..15c37977c9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC) + ) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC), + Is.EqualTo(16) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESCTests.gen.cs new file mode 100644 index 0000000000..0cc0338d92 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC) + ) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC), + Is.EqualTo(8) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFOTests.gen.cs new file mode 100644 index 0000000000..7c153fe515 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFOTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRVTests.gen.cs new file mode 100644 index 0000000000..c50f68a6d7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRVTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_AABBS_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_AABBS_DESCTests.gen.cs new file mode 100644 index 0000000000..ddace228fa --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_AABBS_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_GEOMETRY_AABBS_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_GEOMETRY_AABBS_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_GEOMETRY_AABBS_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_GEOMETRY_AABBS_DESC), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_DESCTests.gen.cs new file mode 100644 index 0000000000..3cb86620c6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_GEOMETRY_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_GEOMETRY_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_GEOMETRY_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_GEOMETRY_DESC), Is.EqualTo(56)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESCTests.gen.cs new file mode 100644 index 0000000000..694273ca05 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC), Is.EqualTo(48)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_DESCTests.gen.cs new file mode 100644 index 0000000000..93a8b3f761 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_INSTANCE_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_INSTANCE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_INSTANCE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_INSTANCE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_INSTANCE_DESC), Is.EqualTo(64)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG1Tests.gen.cs new file mode 100644 index 0000000000..fdd49c814d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIG1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_PIPELINE_CONFIG1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_PIPELINE_CONFIG1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_PIPELINE_CONFIG1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_PIPELINE_CONFIG1), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIGTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIGTests.gen.cs new file mode 100644 index 0000000000..a35bf792d5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_PIPELINE_CONFIGTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_PIPELINE_CONFIGTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_PIPELINE_CONFIG)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_PIPELINE_CONFIG).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_PIPELINE_CONFIG), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_SHADER_CONFIGTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_SHADER_CONFIGTests.gen.cs new file mode 100644 index 0000000000..19bc690be8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RAYTRACING_SHADER_CONFIGTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RAYTRACING_SHADER_CONFIGTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RAYTRACING_SHADER_CONFIG)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RAYTRACING_SHADER_CONFIG).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RAYTRACING_SHADER_CONFIG), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESSTests.gen.cs new file mode 100644 index 0000000000..5f3ce7a3cd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_PASS_BEGINNING_ACCESSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RENDER_PASS_BEGINNING_ACCESS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERSTests.gen.cs new file mode 100644 index 0000000000..fa530e679b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_DEPTH_STENCIL_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_DEPTH_STENCIL_DESCTests.gen.cs new file mode 100644 index 0000000000..5eaa3df4a7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_DEPTH_STENCIL_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_PASS_DEPTH_STENCIL_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC), Is.EqualTo(168)); + } + else + { + Assert.That(sizeof(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC), Is.EqualTo(116)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESSTests.gen.cs new file mode 100644 index 0000000000..0eb639a234 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_PASS_ENDING_ACCESSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_PASS_ENDING_ACCESS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RENDER_PASS_ENDING_ACCESS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RENDER_PASS_ENDING_ACCESS), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_RENDER_PASS_ENDING_ACCESS), Is.EqualTo(32)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERSTests.gen.cs new file mode 100644 index 0000000000..4749dc015a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERSTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS), Is.EqualTo(28)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERSTests.gen.cs new file mode 100644 index 0000000000..ed8096705a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERSTests.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS), + Is.EqualTo(32) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_RENDER_TARGET_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_RENDER_TARGET_DESCTests.gen.cs new file mode 100644 index 0000000000..80556d2c7f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_PASS_RENDER_TARGET_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_PASS_RENDER_TARGET_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_PASS_RENDER_TARGET_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RENDER_PASS_RENDER_TARGET_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RENDER_PASS_RENDER_TARGET_DESC), Is.EqualTo(88)); + } + else + { + Assert.That(sizeof(D3D12_RENDER_PASS_RENDER_TARGET_DESC), Is.EqualTo(60)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_BLEND_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_BLEND_DESCTests.gen.cs new file mode 100644 index 0000000000..f6c20c3d46 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_BLEND_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_TARGET_BLEND_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_TARGET_BLEND_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RENDER_TARGET_BLEND_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RENDER_TARGET_BLEND_DESC), Is.EqualTo(40)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_VIEW_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_VIEW_DESCTests.gen.cs new file mode 100644 index 0000000000..0b866baba7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RENDER_TARGET_VIEW_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RENDER_TARGET_VIEW_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RENDER_TARGET_VIEW_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RENDER_TARGET_VIEW_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RENDER_TARGET_VIEW_DESC), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALIASING_BARRIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALIASING_BARRIERTests.gen.cs new file mode 100644 index 0000000000..da07bcb1b7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALIASING_BARRIERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_ALIASING_BARRIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_ALIASING_BARRIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_ALIASING_BARRIER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RESOURCE_ALIASING_BARRIER), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_RESOURCE_ALIASING_BARRIER), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO1Tests.gen.cs new file mode 100644 index 0000000000..7eeb79b8ef --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFO1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_ALLOCATION_INFO1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_ALLOCATION_INFO1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_ALLOCATION_INFO1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RESOURCE_ALLOCATION_INFO1), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFOTests.gen.cs new file mode 100644 index 0000000000..4caa3b573c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_ALLOCATION_INFOTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_ALLOCATION_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_ALLOCATION_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_ALLOCATION_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RESOURCE_ALLOCATION_INFO), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIERTests.gen.cs new file mode 100644 index 0000000000..0a9ed17816 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_BARRIERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_BARRIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_BARRIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_BARRIER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RESOURCE_BARRIER), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_RESOURCE_BARRIER), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC1Tests.gen.cs new file mode 100644 index 0000000000..b8447c35cf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESC1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_DESC1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_DESC1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_DESC1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RESOURCE_DESC1), Is.EqualTo(64)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESCTests.gen.cs new file mode 100644 index 0000000000..accb1b3f49 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_DESCTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_RESOURCE_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RESOURCE_DESC), Is.EqualTo(56)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_TRANSITION_BARRIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_TRANSITION_BARRIERTests.gen.cs new file mode 100644 index 0000000000..f8a655b18a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_TRANSITION_BARRIERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_TRANSITION_BARRIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_TRANSITION_BARRIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_TRANSITION_BARRIER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RESOURCE_TRANSITION_BARRIER), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_RESOURCE_TRANSITION_BARRIER), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_UAV_BARRIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_UAV_BARRIERTests.gen.cs new file mode 100644 index 0000000000..12e846e35f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RESOURCE_UAV_BARRIERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RESOURCE_UAV_BARRIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_UAV_BARRIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_UAV_BARRIER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RESOURCE_UAV_BARRIER), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D12_RESOURCE_UAV_BARRIER), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_CONSTANTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_CONSTANTSTests.gen.cs new file mode 100644 index 0000000000..f393d8289f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_CONSTANTSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_CONSTANTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_CONSTANTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_CONSTANTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_ROOT_CONSTANTS), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR1Tests.gen.cs new file mode 100644 index 0000000000..79f6f77211 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR1Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_DESCRIPTOR1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_DESCRIPTOR1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_DESCRIPTOR1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_ROOT_DESCRIPTOR1), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTORTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTORTests.gen.cs new file mode 100644 index 0000000000..3c9deec4b6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTORTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_DESCRIPTORTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_DESCRIPTOR)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_DESCRIPTOR).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_ROOT_DESCRIPTOR), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE1Tests.gen.cs new file mode 100644 index 0000000000..f062a2cecf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLE1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_DESCRIPTOR_TABLE1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_DESCRIPTOR_TABLE1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_DESCRIPTOR_TABLE1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_ROOT_DESCRIPTOR_TABLE1), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_ROOT_DESCRIPTOR_TABLE1), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLETests.gen.cs new file mode 100644 index 0000000000..e84ec25b34 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_DESCRIPTOR_TABLETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_DESCRIPTOR_TABLETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_DESCRIPTOR_TABLE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_DESCRIPTOR_TABLE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_ROOT_DESCRIPTOR_TABLE), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_ROOT_DESCRIPTOR_TABLE), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER1Tests.gen.cs new file mode 100644 index 0000000000..e440917896 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETER1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_PARAMETER1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_PARAMETER1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_PARAMETER1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_ROOT_PARAMETER1), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_ROOT_PARAMETER1), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETERTests.gen.cs new file mode 100644 index 0000000000..51f5845abe --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_PARAMETERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_PARAMETERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_PARAMETER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_PARAMETER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_ROOT_PARAMETER), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_ROOT_PARAMETER), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC1Tests.gen.cs new file mode 100644 index 0000000000..6dd5baf20c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESC1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_SIGNATURE_DESC1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_SIGNATURE_DESC1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_SIGNATURE_DESC1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_ROOT_SIGNATURE_DESC1), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_ROOT_SIGNATURE_DESC1), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESCTests.gen.cs new file mode 100644 index 0000000000..3d8249d0ff --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_ROOT_SIGNATURE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_ROOT_SIGNATURE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_ROOT_SIGNATURE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_ROOT_SIGNATURE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_ROOT_SIGNATURE_DESC), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_ROOT_SIGNATURE_DESC), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_RT_FORMAT_ARRAYTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_RT_FORMAT_ARRAYTests.gen.cs new file mode 100644 index 0000000000..b2fd691267 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_RT_FORMAT_ARRAYTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_RT_FORMAT_ARRAYTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RT_FORMAT_ARRAY)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RT_FORMAT_ARRAY).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RT_FORMAT_ARRAY), Is.EqualTo(36)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC2Tests.gen.cs new file mode 100644 index 0000000000..aac2ab2829 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESC2Tests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SAMPLER_DESC2Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_SAMPLER_DESC2))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SAMPLER_DESC2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SAMPLER_DESC2), Is.EqualTo(56)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESCTests.gen.cs new file mode 100644 index 0000000000..62e3d598e3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLER_DESCTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SAMPLER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_SAMPLER_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SAMPLER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SAMPLER_DESC), Is.EqualTo(52)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLE_POSITIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLE_POSITIONTests.gen.cs new file mode 100644 index 0000000000..a562571a5d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SAMPLE_POSITIONTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SAMPLE_POSITIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SAMPLE_POSITION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SAMPLE_POSITION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SAMPLE_POSITION), Is.EqualTo(2)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIERTests.gen.cs new file mode 100644 index 0000000000..d2dde558b1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIERTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADERTests.gen.cs new file mode 100644 index 0000000000..ad492b42c5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADERTests.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER), + Is.EqualTo(56) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_BYTECODETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_BYTECODETests.gen.cs new file mode 100644 index 0000000000..6799861e02 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_BYTECODETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_BYTECODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SHADER_BYTECODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_BYTECODE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SHADER_BYTECODE), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_SHADER_BYTECODE), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SESSION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SESSION_DESCTests.gen.cs new file mode 100644 index 0000000000..51ffe2f87d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_CACHE_SESSION_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_CACHE_SESSION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SHADER_CACHE_SESSION_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_CACHE_SESSION_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SHADER_CACHE_SESSION_DESC), Is.EqualTo(48)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_RESOURCE_VIEW_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_RESOURCE_VIEW_DESCTests.gen.cs new file mode 100644 index 0000000000..cc08faf1dd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SHADER_RESOURCE_VIEW_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_RESOURCE_VIEW_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SHADER_RESOURCE_VIEW_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_RESOURCE_VIEW_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SHADER_RESOURCE_VIEW_DESC), Is.EqualTo(40)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SO_DECLARATION_ENTRYTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SO_DECLARATION_ENTRYTests.gen.cs new file mode 100644 index 0000000000..f0cc22fdc0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SO_DECLARATION_ENTRYTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SO_DECLARATION_ENTRYTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SO_DECLARATION_ENTRY)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SO_DECLARATION_ENTRY).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SO_DECLARATION_ENTRY), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_SO_DECLARATION_ENTRY), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_CONFIGTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_CONFIGTests.gen.cs new file mode 100644 index 0000000000..b3a17ef0f5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_CONFIGTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_STATE_OBJECT_CONFIGTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_STATE_OBJECT_CONFIG)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_STATE_OBJECT_CONFIG).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_STATE_OBJECT_CONFIG), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_DESCTests.gen.cs new file mode 100644 index 0000000000..89d79f7f2c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_OBJECT_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_STATE_OBJECT_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_STATE_OBJECT_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_STATE_OBJECT_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_STATE_OBJECT_DESC), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_STATE_OBJECT_DESC), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECTTests.gen.cs new file mode 100644 index 0000000000..d7f2ea1ae1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_STATE_SUBOBJECTTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_STATE_SUBOBJECTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_STATE_SUBOBJECT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_STATE_SUBOBJECT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_STATE_SUBOBJECT), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_STATE_SUBOBJECT), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_STATIC_SAMPLER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_STATIC_SAMPLER_DESCTests.gen.cs new file mode 100644 index 0000000000..e419ab468d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_STATIC_SAMPLER_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_STATIC_SAMPLER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_STATIC_SAMPLER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_STATIC_SAMPLER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_STATIC_SAMPLER_DESC), Is.EqualTo(52)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_BUFFER_VIEWTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_BUFFER_VIEWTests.gen.cs new file mode 100644 index 0000000000..aac29015d9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_BUFFER_VIEWTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_STREAM_OUTPUT_BUFFER_VIEWTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_STREAM_OUTPUT_BUFFER_VIEW)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_STREAM_OUTPUT_BUFFER_VIEW).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_STREAM_OUTPUT_BUFFER_VIEW), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_DESCTests.gen.cs new file mode 100644 index 0000000000..2098a7ccaf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_STREAM_OUTPUT_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_STREAM_OUTPUT_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_STREAM_OUTPUT_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_STREAM_OUTPUT_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_STREAM_OUTPUT_DESC), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_STREAM_OUTPUT_DESC), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests.gen.cs new file mode 100644 index 0000000000..33c92ad85c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_DATATests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_DATATests.gen.cs new file mode 100644 index 0000000000..39323db47a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_DATATests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SUBRESOURCE_DATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SUBRESOURCE_DATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SUBRESOURCE_DATA).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SUBRESOURCE_DATA), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_SUBRESOURCE_DATA), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_FOOTPRINTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_FOOTPRINTTests.gen.cs new file mode 100644 index 0000000000..ad8ca192d6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_FOOTPRINTTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SUBRESOURCE_FOOTPRINTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SUBRESOURCE_FOOTPRINT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SUBRESOURCE_FOOTPRINT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SUBRESOURCE_FOOTPRINT), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_INFOTests.gen.cs new file mode 100644 index 0000000000..76cd4c5ef0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_INFOTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SUBRESOURCE_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SUBRESOURCE_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SUBRESOURCE_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SUBRESOURCE_INFO), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_RANGE_UINT64Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_RANGE_UINT64Tests.gen.cs new file mode 100644 index 0000000000..1d99fe1f9a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_RANGE_UINT64Tests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SUBRESOURCE_RANGE_UINT64Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SUBRESOURCE_RANGE_UINT64)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SUBRESOURCE_RANGE_UINT64).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SUBRESOURCE_RANGE_UINT64), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_TILINGTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_TILINGTests.gen.cs new file mode 100644 index 0000000000..88db308176 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_SUBRESOURCE_TILINGTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SUBRESOURCE_TILINGTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SUBRESOURCE_TILING)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SUBRESOURCE_TILING).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_SUBRESOURCE_TILING), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_DSVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_DSVTests.gen.cs new file mode 100644 index 0000000000..8b6c87664e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_DSVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_ARRAY_DSVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX1D_ARRAY_DSV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_ARRAY_DSV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_ARRAY_DSV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_RTVTests.gen.cs new file mode 100644 index 0000000000..a1032ff60c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_RTVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_ARRAY_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX1D_ARRAY_RTV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_ARRAY_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_ARRAY_RTV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_SRVTests.gen.cs new file mode 100644 index 0000000000..a09434b5b6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_SRVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_ARRAY_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX1D_ARRAY_SRV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_ARRAY_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_ARRAY_SRV), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_UAVTests.gen.cs new file mode 100644 index 0000000000..5798ab67b1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_ARRAY_UAVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_ARRAY_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX1D_ARRAY_UAV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_ARRAY_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_ARRAY_UAV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_DSVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_DSVTests.gen.cs new file mode 100644 index 0000000000..ff514355a6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_DSVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_DSVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX1D_DSV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_DSV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_DSV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_RTVTests.gen.cs new file mode 100644 index 0000000000..80721323bd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_RTVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX1D_RTV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_RTV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_SRVTests.gen.cs new file mode 100644 index 0000000000..b735cf13f6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_SRVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX1D_SRV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_SRV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_UAVTests.gen.cs new file mode 100644 index 0000000000..6ad264b2a6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX1D_UAVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX1D_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX1D_UAV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX1D_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX1D_UAV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_DSVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_DSVTests.gen.cs new file mode 100644 index 0000000000..980b0e4a98 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_DSVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_ARRAY_DSVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2DMS_ARRAY_DSV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_ARRAY_DSV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_ARRAY_DSV), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_RTVTests.gen.cs new file mode 100644 index 0000000000..d2cf781f24 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_RTVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_ARRAY_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2DMS_ARRAY_RTV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_ARRAY_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_ARRAY_RTV), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_SRVTests.gen.cs new file mode 100644 index 0000000000..1bec306204 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_SRVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_ARRAY_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2DMS_ARRAY_SRV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_ARRAY_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_ARRAY_SRV), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_UAVTests.gen.cs new file mode 100644 index 0000000000..80cbb1914b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_ARRAY_UAVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_ARRAY_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2DMS_ARRAY_UAV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_ARRAY_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_ARRAY_UAV), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_DSVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_DSVTests.gen.cs new file mode 100644 index 0000000000..98f215211a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_DSVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_DSVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2DMS_DSV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_DSV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_DSV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_RTVTests.gen.cs new file mode 100644 index 0000000000..a3b8c3cd9d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_RTVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2DMS_RTV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_RTV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_SRVTests.gen.cs new file mode 100644 index 0000000000..2b973aec21 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_SRVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2DMS_SRV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_SRV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_UAVTests.gen.cs new file mode 100644 index 0000000000..9dbe81bf96 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2DMS_UAVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2DMS_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2DMS_UAV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2DMS_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2DMS_UAV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_DSVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_DSVTests.gen.cs new file mode 100644 index 0000000000..677f95bcc5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_DSVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_ARRAY_DSVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2D_ARRAY_DSV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_ARRAY_DSV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_ARRAY_DSV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_RTVTests.gen.cs new file mode 100644 index 0000000000..25d1087afe --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_RTVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_ARRAY_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2D_ARRAY_RTV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_ARRAY_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_ARRAY_RTV), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_SRVTests.gen.cs new file mode 100644 index 0000000000..f87bf71de2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_SRVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_ARRAY_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2D_ARRAY_SRV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_ARRAY_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_ARRAY_SRV), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_UAVTests.gen.cs new file mode 100644 index 0000000000..a966cc493e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_ARRAY_UAVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_ARRAY_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEX2D_ARRAY_UAV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_ARRAY_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_ARRAY_UAV), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_DSVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_DSVTests.gen.cs new file mode 100644 index 0000000000..92ec0df8df --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_DSVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_DSVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2D_DSV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_DSV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_DSV), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_RTVTests.gen.cs new file mode 100644 index 0000000000..e45abefea6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_RTVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2D_RTV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_RTV), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_SRVTests.gen.cs new file mode 100644 index 0000000000..e28cda000a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_SRVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2D_SRV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_SRV), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_UAVTests.gen.cs new file mode 100644 index 0000000000..77f4ef689b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX2D_UAVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX2D_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX2D_UAV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX2D_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX2D_UAV), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_RTVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_RTVTests.gen.cs new file mode 100644 index 0000000000..699b05bdf3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_RTVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX3D_RTVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX3D_RTV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX3D_RTV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX3D_RTV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_SRVTests.gen.cs new file mode 100644 index 0000000000..fbb6f6da3b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_SRVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX3D_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX3D_SRV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX3D_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX3D_SRV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_UAVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_UAVTests.gen.cs new file mode 100644 index 0000000000..f3f80e99b6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEX3D_UAVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEX3D_UAVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEX3D_UAV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEX3D_UAV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEX3D_UAV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_ARRAY_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_ARRAY_SRVTests.gen.cs new file mode 100644 index 0000000000..5bacc74308 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_ARRAY_SRVTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEXCUBE_ARRAY_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEXCUBE_ARRAY_SRV)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEXCUBE_ARRAY_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEXCUBE_ARRAY_SRV), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_SRVTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_SRVTests.gen.cs new file mode 100644 index 0000000000..399a78a976 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXCUBE_SRVTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEXCUBE_SRVTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TEXCUBE_SRV))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEXCUBE_SRV).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TEXCUBE_SRV), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIERTests.gen.cs new file mode 100644 index 0000000000..989c76ce91 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_BARRIERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEXTURE_BARRIERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEXTURE_BARRIER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEXTURE_BARRIER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_TEXTURE_BARRIER), Is.EqualTo(64)); + } + else + { + Assert.That(sizeof(D3D12_TEXTURE_BARRIER), Is.EqualTo(56)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_LOCATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_LOCATIONTests.gen.cs new file mode 100644 index 0000000000..8000f7a7bc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TEXTURE_COPY_LOCATIONTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TEXTURE_COPY_LOCATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TEXTURE_COPY_LOCATION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TEXTURE_COPY_LOCATION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_TEXTURE_COPY_LOCATION), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_TEXTURE_COPY_LOCATION), Is.EqualTo(40)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCE_COORDINATETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCE_COORDINATETests.gen.cs new file mode 100644 index 0000000000..2510c116f5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TILED_RESOURCE_COORDINATETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TILED_RESOURCE_COORDINATETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TILED_RESOURCE_COORDINATE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TILED_RESOURCE_COORDINATE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TILED_RESOURCE_COORDINATE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TILE_REGION_SIZETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TILE_REGION_SIZETests.gen.cs new file mode 100644 index 0000000000..ae4a9161f1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TILE_REGION_SIZETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TILE_REGION_SIZETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_TILE_REGION_SIZE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TILE_REGION_SIZE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TILE_REGION_SIZE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_TILE_SHAPETests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_TILE_SHAPETests.gen.cs new file mode 100644 index 0000000000..6e7e7aeb0d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_TILE_SHAPETests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_TILE_SHAPETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_TILE_SHAPE))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_TILE_SHAPE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_TILE_SHAPE), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_UNORDERED_ACCESS_VIEW_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_UNORDERED_ACCESS_VIEW_DESCTests.gen.cs new file mode 100644 index 0000000000..50fc2d9e06 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_UNORDERED_ACCESS_VIEW_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_UNORDERED_ACCESS_VIEW_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_UNORDERED_ACCESS_VIEW_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_UNORDERED_ACCESS_VIEW_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_UNORDERED_ACCESS_VIEW_DESC), Is.EqualTo(40)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATATests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATATests.gen.cs new file mode 100644 index 0000000000..8b8f4cb68e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATATests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA), Is.EqualTo(64)); + } + else + { + Assert.That(sizeof(D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA), Is.EqualTo(48)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_ROOT_SIGNATURE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_ROOT_SIGNATURE_DESCTests.gen.cs new file mode 100644 index 0000000000..e5a79cca04 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_VERSIONED_ROOT_SIGNATURE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VERSIONED_ROOT_SIGNATURE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VERSIONED_ROOT_SIGNATURE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VERSIONED_ROOT_SIGNATURE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VERSIONED_ROOT_SIGNATURE_DESC), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_VERSIONED_ROOT_SIGNATURE_DESC), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_VERTEX_BUFFER_VIEWTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_VERTEX_BUFFER_VIEWTests.gen.cs new file mode 100644 index 0000000000..45401ccfe3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_VERTEX_BUFFER_VIEWTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VERTEX_BUFFER_VIEWTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VERTEX_BUFFER_VIEW)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VERTEX_BUFFER_VIEW).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VERTEX_BUFFER_VIEW), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_VIEWPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_VIEWPORTTests.gen.cs new file mode 100644 index 0000000000..40768da6b6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_VIEWPORTTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIEWPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_VIEWPORT))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIEWPORT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIEWPORT), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCE_LOCATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCE_LOCATIONTests.gen.cs new file mode 100644 index 0000000000..d7ef11137b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCE_LOCATIONTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIEW_INSTANCE_LOCATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIEW_INSTANCE_LOCATION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIEW_INSTANCE_LOCATION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIEW_INSTANCE_LOCATION), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_DESCTests.gen.cs new file mode 100644 index 0000000000..cee76648e9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_VIEW_INSTANCING_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIEW_INSTANCING_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIEW_INSTANCING_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIEW_INSTANCING_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIEW_INSTANCING_DESC), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_VIEW_INSTANCING_DESC), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_PARAMETERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_PARAMETERTests.gen.cs new file mode 100644 index 0000000000..f419d23972 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/D3D12_WRITEBUFFERIMMEDIATE_PARAMETERTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_WRITEBUFFERIMMEDIATE_PARAMETERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/DirectXTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/DirectXTests.gen.cs new file mode 100644 index 0000000000..0bd70a4dcb --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/DirectXTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.DirectX; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static unsafe partial class DirectXTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12ExperimentalShaderModelsTest() + { + Assert.That( + D3D12ExperimentalShaderModels, + Is.EqualTo( + new Guid(0x76f5573e, 0xf13a, 0x40f5, 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12TiledResourceTier4Test() + { + Assert.That( + D3D12TiledResourceTier4, + Is.EqualTo( + new Guid(0xc9c4725f, 0xa81a, 0x4f56, 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12CommandAllocatorTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandAllocatorTests.gen.cs new file mode 100644 index 0000000000..4ba9a41444 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandAllocatorTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12CommandAllocatorTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12CommandAllocator).GUID, Is.EqualTo(IID_ID3D12CommandAllocator)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12CommandAllocator)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12CommandAllocator).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12CommandAllocator), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12CommandAllocator), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12CommandListTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandListTests.gen.cs new file mode 100644 index 0000000000..48482c3287 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandListTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12CommandListTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12CommandList).GUID, Is.EqualTo(IID_ID3D12CommandList)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12CommandList))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12CommandList).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12CommandList), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12CommandList), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12CommandQueueTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandQueueTests.gen.cs new file mode 100644 index 0000000000..f35d2bf861 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandQueueTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12CommandQueueTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12CommandQueue).GUID, Is.EqualTo(IID_ID3D12CommandQueue)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12CommandQueue))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12CommandQueue).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12CommandQueue), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12CommandQueue), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12CommandSignatureTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandSignatureTests.gen.cs new file mode 100644 index 0000000000..45930a1e3d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12CommandSignatureTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12CommandSignatureTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12CommandSignature).GUID, Is.EqualTo(IID_ID3D12CommandSignature)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12CommandSignature)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12CommandSignature).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12CommandSignature), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12CommandSignature), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DescriptorHeapTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DescriptorHeapTests.gen.cs new file mode 100644 index 0000000000..8dbbdc6f53 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DescriptorHeapTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DescriptorHeapTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DescriptorHeap).GUID, Is.EqualTo(IID_ID3D12DescriptorHeap)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DescriptorHeap)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DescriptorHeap).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DescriptorHeap), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DescriptorHeap), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device10Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device10Tests.gen.cs new file mode 100644 index 0000000000..e19779fa7c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device10Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device10Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device10).GUID, Is.EqualTo(IID_ID3D12Device10)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device10))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device10).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device10), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device10), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device11Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device11Tests.gen.cs new file mode 100644 index 0000000000..6010b336fc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device11Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device11Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device11).GUID, Is.EqualTo(IID_ID3D12Device11)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device11))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device11).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device11), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device11), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device1Tests.gen.cs new file mode 100644 index 0000000000..6441866f1f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device1).GUID, Is.EqualTo(IID_ID3D12Device1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device2Tests.gen.cs new file mode 100644 index 0000000000..2d24e54e5e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device2Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device2).GUID, Is.EqualTo(IID_ID3D12Device2)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device2))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device3Tests.gen.cs new file mode 100644 index 0000000000..46b424e63e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device3Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device3).GUID, Is.EqualTo(IID_ID3D12Device3)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device3))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device4Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device4Tests.gen.cs new file mode 100644 index 0000000000..e4c7f66a3a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device4Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device4Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device4).GUID, Is.EqualTo(IID_ID3D12Device4)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device4))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device4).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device4), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device4), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device5Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device5Tests.gen.cs new file mode 100644 index 0000000000..1fd95f3d36 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device5Tests.gen.cs @@ -0,0 +1,54 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.17763.0")] +public static unsafe partial class ID3D12Device5Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device5).GUID, Is.EqualTo(IID_ID3D12Device5)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device5))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device5).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device5), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device5), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device6Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device6Tests.gen.cs new file mode 100644 index 0000000000..ad2868d72e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device6Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device6Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device6).GUID, Is.EqualTo(IID_ID3D12Device6)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device6))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device6).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device6), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device6), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device7Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device7Tests.gen.cs new file mode 100644 index 0000000000..212d5eebd1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device7Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device7Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device7).GUID, Is.EqualTo(IID_ID3D12Device7)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device7))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device7).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device7), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device7), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device8Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device8Tests.gen.cs new file mode 100644 index 0000000000..6ca7350c20 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device8Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device8Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device8).GUID, Is.EqualTo(IID_ID3D12Device8)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device8))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device8).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device8), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device8), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Device9Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Device9Tests.gen.cs new file mode 100644 index 0000000000..a7ffc8c75d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Device9Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Device9Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device9).GUID, Is.EqualTo(IID_ID3D12Device9)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device9))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device9).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device9), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device9), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceChildTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceChildTests.gen.cs new file mode 100644 index 0000000000..43a4d285a2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceChildTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceChildTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DeviceChild).GUID, Is.EqualTo(IID_ID3D12DeviceChild)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12DeviceChild))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceChild).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceChild), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceChild), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceConfigurationTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceConfigurationTests.gen.cs new file mode 100644 index 0000000000..5deab91a60 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceConfigurationTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceConfigurationTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DeviceConfiguration).GUID, + Is.EqualTo(IID_ID3D12DeviceConfiguration) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceConfiguration)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceConfiguration).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceConfiguration), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceConfiguration), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceFactoryTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceFactoryTests.gen.cs new file mode 100644 index 0000000000..43bc2aca17 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceFactoryTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceFactoryTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DeviceFactory).GUID, Is.EqualTo(IID_ID3D12DeviceFactory)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12DeviceFactory))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceFactory).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceFactory), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceFactory), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData1Tests.gen.cs new file mode 100644 index 0000000000..fabf88d381 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceRemovedExtendedData1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DeviceRemovedExtendedData1).GUID, + Is.EqualTo(IID_ID3D12DeviceRemovedExtendedData1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceRemovedExtendedData1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceRemovedExtendedData1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedData1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedData1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData2Tests.gen.cs new file mode 100644 index 0000000000..914ab59bf8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedData2Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceRemovedExtendedData2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DeviceRemovedExtendedData2).GUID, + Is.EqualTo(IID_ID3D12DeviceRemovedExtendedData2) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceRemovedExtendedData2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceRemovedExtendedData2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedData2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedData2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings1Tests.gen.cs new file mode 100644 index 0000000000..64b14b6b07 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceRemovedExtendedDataSettings1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DeviceRemovedExtendedDataSettings1).GUID, + Is.EqualTo(IID_ID3D12DeviceRemovedExtendedDataSettings1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceRemovedExtendedDataSettings1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceRemovedExtendedDataSettings1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedDataSettings1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedDataSettings1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings2Tests.gen.cs new file mode 100644 index 0000000000..509016ae24 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettings2Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceRemovedExtendedDataSettings2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DeviceRemovedExtendedDataSettings2).GUID, + Is.EqualTo(IID_ID3D12DeviceRemovedExtendedDataSettings2) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceRemovedExtendedDataSettings2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceRemovedExtendedDataSettings2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedDataSettings2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedDataSettings2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettingsTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettingsTests.gen.cs new file mode 100644 index 0000000000..98c9612798 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataSettingsTests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.18362.0")] +public static unsafe partial class ID3D12DeviceRemovedExtendedDataSettingsTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DeviceRemovedExtendedDataSettings).GUID, + Is.EqualTo(IID_ID3D12DeviceRemovedExtendedDataSettings) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceRemovedExtendedDataSettings)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceRemovedExtendedDataSettings).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedDataSettings), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedDataSettings), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataTests.gen.cs new file mode 100644 index 0000000000..1f79399e7a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceRemovedExtendedDataTests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.18362.0")] +public static unsafe partial class ID3D12DeviceRemovedExtendedDataTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DeviceRemovedExtendedData).GUID, + Is.EqualTo(IID_ID3D12DeviceRemovedExtendedData) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceRemovedExtendedData)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceRemovedExtendedData).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedData), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceRemovedExtendedData), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceTests.gen.cs new file mode 100644 index 0000000000..714efa3d23 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12DeviceTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Device).GUID, Is.EqualTo(IID_ID3D12Device)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Device))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Device).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Device), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Device), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Fence1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Fence1Tests.gen.cs new file mode 100644 index 0000000000..4363b1765e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Fence1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Fence1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Fence1).GUID, Is.EqualTo(IID_ID3D12Fence1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Fence1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Fence1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Fence1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Fence1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12FenceTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12FenceTests.gen.cs new file mode 100644 index 0000000000..f83e5f6417 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12FenceTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12FenceTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Fence).GUID, Is.EqualTo(IID_ID3D12Fence)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Fence))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Fence).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Fence), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Fence), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList1Tests.gen.cs new file mode 100644 index 0000000000..3d3898343c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12GraphicsCommandList1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList1).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList2Tests.gen.cs new file mode 100644 index 0000000000..9aa4a0ba2a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList2Tests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0")] +public static unsafe partial class ID3D12GraphicsCommandList2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList2).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList2) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList3Tests.gen.cs new file mode 100644 index 0000000000..93a3dfbe85 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList3Tests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0")] +public static unsafe partial class ID3D12GraphicsCommandList3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList3).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList3) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList3)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList4Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList4Tests.gen.cs new file mode 100644 index 0000000000..8cc159c311 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList4Tests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.17763.0")] +public static unsafe partial class ID3D12GraphicsCommandList4Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList4).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList4) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList4)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList4).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList4), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList4), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList5Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList5Tests.gen.cs new file mode 100644 index 0000000000..d28fcde11b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList5Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12GraphicsCommandList5Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList5).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList5) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList5)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList5).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList5), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList5), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList6Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList6Tests.gen.cs new file mode 100644 index 0000000000..1896e52c5a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList6Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12GraphicsCommandList6Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList6).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList6) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList6)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList6).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList6), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList6), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList7Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList7Tests.gen.cs new file mode 100644 index 0000000000..1c6880a580 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList7Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12GraphicsCommandList7Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList7).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList7) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList7)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList7).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList7), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList7), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList8Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList8Tests.gen.cs new file mode 100644 index 0000000000..6c1319a1c2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandList8Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12GraphicsCommandList8Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList8).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList8) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList8)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList8).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList8), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList8), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandListTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandListTests.gen.cs new file mode 100644 index 0000000000..2ebc768127 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12GraphicsCommandListTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12GraphicsCommandListTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12GraphicsCommandList).GUID, + Is.EqualTo(IID_ID3D12GraphicsCommandList) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12GraphicsCommandList)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12GraphicsCommandList).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12GraphicsCommandList), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12GraphicsCommandList), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Heap1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Heap1Tests.gen.cs new file mode 100644 index 0000000000..a57f798a3a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Heap1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Heap1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Heap1).GUID, Is.EqualTo(IID_ID3D12Heap1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Heap1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Heap1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Heap1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Heap1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12HeapTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12HeapTests.gen.cs new file mode 100644 index 0000000000..b8aec6548d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12HeapTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12HeapTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Heap).GUID, Is.EqualTo(IID_ID3D12Heap)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Heap))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Heap).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Heap), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Heap), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12LifetimeOwnerTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12LifetimeOwnerTests.gen.cs new file mode 100644 index 0000000000..1c7b6e4351 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12LifetimeOwnerTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12LifetimeOwnerTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12LifetimeOwner).GUID, Is.EqualTo(IID_ID3D12LifetimeOwner)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12LifetimeOwner))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12LifetimeOwner).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12LifetimeOwner), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12LifetimeOwner), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12LifetimeTrackerTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12LifetimeTrackerTests.gen.cs new file mode 100644 index 0000000000..3e0d1b3019 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12LifetimeTrackerTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12LifetimeTrackerTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12LifetimeTracker).GUID, Is.EqualTo(IID_ID3D12LifetimeTracker)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12LifetimeTracker)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12LifetimeTracker).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12LifetimeTracker), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12LifetimeTracker), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12MetaCommandTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12MetaCommandTests.gen.cs new file mode 100644 index 0000000000..2dd0b0239d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12MetaCommandTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12MetaCommandTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12MetaCommand).GUID, Is.EqualTo(IID_ID3D12MetaCommand)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12MetaCommand))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12MetaCommand).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12MetaCommand), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12MetaCommand), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12ObjectTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12ObjectTests.gen.cs new file mode 100644 index 0000000000..96df8739c9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12ObjectTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ObjectTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Object).GUID, Is.EqualTo(IID_ID3D12Object)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Object))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Object).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Object), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Object), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12PageableTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12PageableTests.gen.cs new file mode 100644 index 0000000000..1bcfc4b5df --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12PageableTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12PageableTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Pageable).GUID, Is.EqualTo(IID_ID3D12Pageable)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Pageable))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Pageable).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Pageable), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Pageable), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary1Tests.gen.cs new file mode 100644 index 0000000000..6ceced0576 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineLibrary1Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12PipelineLibrary1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12PipelineLibrary1).GUID, Is.EqualTo(IID_ID3D12PipelineLibrary1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12PipelineLibrary1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12PipelineLibrary1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12PipelineLibrary1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12PipelineLibrary1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineLibraryTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineLibraryTests.gen.cs new file mode 100644 index 0000000000..df225f5037 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineLibraryTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12PipelineLibraryTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12PipelineLibrary).GUID, Is.EqualTo(IID_ID3D12PipelineLibrary)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12PipelineLibrary)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12PipelineLibrary).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12PipelineLibrary), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12PipelineLibrary), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineStateTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineStateTests.gen.cs new file mode 100644 index 0000000000..ba406b7cea --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12PipelineStateTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12PipelineStateTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12PipelineState).GUID, Is.EqualTo(IID_ID3D12PipelineState)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12PipelineState))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12PipelineState).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12PipelineState), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12PipelineState), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession1Tests.gen.cs new file mode 100644 index 0000000000..4a560c556d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSession1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ProtectedResourceSession1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12ProtectedResourceSession1).GUID, + Is.EqualTo(IID_ID3D12ProtectedResourceSession1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ProtectedResourceSession1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ProtectedResourceSession1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ProtectedResourceSession1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ProtectedResourceSession1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSessionTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSessionTests.gen.cs new file mode 100644 index 0000000000..67222c276e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedResourceSessionTests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0")] +public static unsafe partial class ID3D12ProtectedResourceSessionTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12ProtectedResourceSession).GUID, + Is.EqualTo(IID_ID3D12ProtectedResourceSession) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ProtectedResourceSession)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ProtectedResourceSession).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ProtectedResourceSession), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ProtectedResourceSession), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedSessionTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedSessionTests.gen.cs new file mode 100644 index 0000000000..c0c9f2ace3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12ProtectedSessionTests.gen.cs @@ -0,0 +1,57 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0")] +public static unsafe partial class ID3D12ProtectedSessionTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12ProtectedSession).GUID, Is.EqualTo(IID_ID3D12ProtectedSession)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ProtectedSession)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ProtectedSession).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ProtectedSession), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ProtectedSession), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12QueryHeapTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12QueryHeapTests.gen.cs new file mode 100644 index 0000000000..20357139be --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12QueryHeapTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12QueryHeapTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12QueryHeap).GUID, Is.EqualTo(IID_ID3D12QueryHeap)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12QueryHeap))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12QueryHeap).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12QueryHeap), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12QueryHeap), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Resource1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Resource1Tests.gen.cs new file mode 100644 index 0000000000..392262c1f0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Resource1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Resource1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Resource1).GUID, Is.EqualTo(IID_ID3D12Resource1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Resource1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Resource1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Resource1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Resource1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12Resource2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12Resource2Tests.gen.cs new file mode 100644 index 0000000000..d2abf23065 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12Resource2Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Resource2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Resource2).GUID, Is.EqualTo(IID_ID3D12Resource2)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Resource2))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Resource2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Resource2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Resource2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12ResourceTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12ResourceTests.gen.cs new file mode 100644 index 0000000000..4d2301d28d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12ResourceTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ResourceTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Resource).GUID, Is.EqualTo(IID_ID3D12Resource)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Resource))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Resource).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Resource), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Resource), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12RootSignatureDeserializerTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12RootSignatureDeserializerTests.gen.cs new file mode 100644 index 0000000000..d2d9fe6433 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12RootSignatureDeserializerTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12RootSignatureDeserializerTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12RootSignatureDeserializer).GUID, + Is.EqualTo(IID_ID3D12RootSignatureDeserializer) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12RootSignatureDeserializer)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12RootSignatureDeserializer).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12RootSignatureDeserializer), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12RootSignatureDeserializer), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12RootSignatureTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12RootSignatureTests.gen.cs new file mode 100644 index 0000000000..e118932428 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12RootSignatureTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12RootSignatureTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12RootSignature).GUID, Is.EqualTo(IID_ID3D12RootSignature)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12RootSignature))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12RootSignature).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12RootSignature), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12RootSignature), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration1Tests.gen.cs new file mode 100644 index 0000000000..3d58bae8ff --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12SDKConfiguration1Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12SDKConfiguration1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12SDKConfiguration1).GUID, Is.EqualTo(IID_ID3D12SDKConfiguration1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12SDKConfiguration1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12SDKConfiguration1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12SDKConfiguration1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12SDKConfiguration1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12SDKConfigurationTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12SDKConfigurationTests.gen.cs new file mode 100644 index 0000000000..87881f033a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12SDKConfigurationTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12SDKConfigurationTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12SDKConfiguration).GUID, Is.EqualTo(IID_ID3D12SDKConfiguration)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12SDKConfiguration)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12SDKConfiguration).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12SDKConfiguration), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12SDKConfiguration), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12ShaderCacheSessionTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12ShaderCacheSessionTests.gen.cs new file mode 100644 index 0000000000..bbc079f7a1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12ShaderCacheSessionTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ShaderCacheSessionTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12ShaderCacheSession).GUID, + Is.EqualTo(IID_ID3D12ShaderCacheSession) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ShaderCacheSession)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ShaderCacheSession).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ShaderCacheSession), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ShaderCacheSession), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12StateObjectPropertiesTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12StateObjectPropertiesTests.gen.cs new file mode 100644 index 0000000000..90ffffefd1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12StateObjectPropertiesTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12StateObjectPropertiesTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12StateObjectProperties).GUID, + Is.EqualTo(IID_ID3D12StateObjectProperties) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12StateObjectProperties)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12StateObjectProperties).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12StateObjectProperties), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12StateObjectProperties), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12StateObjectTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12StateObjectTests.gen.cs new file mode 100644 index 0000000000..bef4a17541 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12StateObjectTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12StateObjectTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12StateObject).GUID, Is.EqualTo(IID_ID3D12StateObject)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12StateObject))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12StateObject).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12StateObject), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12StateObject), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12SwapChainAssistantTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12SwapChainAssistantTests.gen.cs new file mode 100644 index 0000000000..5e32407feb --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12SwapChainAssistantTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12SwapChainAssistantTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12SwapChainAssistant).GUID, + Is.EqualTo(IID_ID3D12SwapChainAssistant) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12SwapChainAssistant)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12SwapChainAssistant).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12SwapChainAssistant), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12SwapChainAssistant), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12ToolsTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12ToolsTests.gen.cs new file mode 100644 index 0000000000..8adbaef62b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12ToolsTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ToolsTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Tools).GUID, Is.EqualTo(IID_ID3D12Tools)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Tools))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Tools).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Tools), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Tools), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12VersionedRootSignatureDeserializerTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12VersionedRootSignatureDeserializerTests.gen.cs new file mode 100644 index 0000000000..e9099425ff --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12VersionedRootSignatureDeserializerTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VersionedRootSignatureDeserializerTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VersionedRootSignatureDeserializer).GUID, + Is.EqualTo(IID_ID3D12VersionedRootSignatureDeserializer) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VersionedRootSignatureDeserializer)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VersionedRootSignatureDeserializer).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VersionedRootSignatureDeserializer), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VersionedRootSignatureDeserializer), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/ID3D12VirtualizationGuestDeviceTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/ID3D12VirtualizationGuestDeviceTests.gen.cs new file mode 100644 index 0000000000..fc55e5867c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/ID3D12VirtualizationGuestDeviceTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VirtualizationGuestDeviceTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VirtualizationGuestDevice).GUID, + Is.EqualTo(IID_ID3D12VirtualizationGuestDevice) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VirtualizationGuestDevice)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VirtualizationGuestDevice).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VirtualizationGuestDevice), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VirtualizationGuestDevice), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12/IIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12/IIDTests.gen.cs new file mode 100644 index 0000000000..77c5106190 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12/IIDTests.gen.cs @@ -0,0 +1,857 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ObjectTest() + { + Assert.That( + IID_ID3D12Object, + Is.EqualTo( + new Guid(0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceChildTest() + { + Assert.That( + IID_ID3D12DeviceChild, + Is.EqualTo( + new Guid(0x905db94b, 0xa00c, 0x4140, 0x9d, 0xf5, 0x2b, 0x64, 0xca, 0x9e, 0xa3, 0x57) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12RootSignatureTest() + { + Assert.That( + IID_ID3D12RootSignature, + Is.EqualTo( + new Guid(0xc54a6b66, 0x72df, 0x4ee8, 0x8b, 0xe5, 0xa9, 0x46, 0xa1, 0x42, 0x92, 0x14) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12RootSignatureDeserializerTest() + { + Assert.That( + IID_ID3D12RootSignatureDeserializer, + Is.EqualTo( + new Guid(0x34AB647B, 0x3CC8, 0x46AC, 0x84, 0x1B, 0xC0, 0x96, 0x56, 0x45, 0xC0, 0x46) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VersionedRootSignatureDeserializerTest() + { + Assert.That( + IID_ID3D12VersionedRootSignatureDeserializer, + Is.EqualTo( + new Guid(0x7F91CE67, 0x090C, 0x4BB7, 0xB7, 0x8E, 0xED, 0x8F, 0xF2, 0xE3, 0x1D, 0xA0) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12PageableTest() + { + Assert.That( + IID_ID3D12Pageable, + Is.EqualTo( + new Guid(0x63ee58fb, 0x1268, 0x4835, 0x86, 0xda, 0xf0, 0x08, 0xce, 0x62, 0xf0, 0xd6) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12HeapTest() + { + Assert.That( + IID_ID3D12Heap, + Is.EqualTo( + new Guid(0x6b3b2502, 0x6e51, 0x45b3, 0x90, 0xee, 0x98, 0x84, 0x26, 0x5e, 0x8d, 0xf3) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ResourceTest() + { + Assert.That( + IID_ID3D12Resource, + Is.EqualTo( + new Guid(0x696442be, 0xa72e, 0x4059, 0xbc, 0x79, 0x5b, 0x5c, 0x98, 0x04, 0x0f, 0xad) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12CommandAllocatorTest() + { + Assert.That( + IID_ID3D12CommandAllocator, + Is.EqualTo( + new Guid(0x6102dee4, 0xaf59, 0x4b09, 0xb9, 0x99, 0xb4, 0x4d, 0x73, 0xf0, 0x9b, 0x24) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12FenceTest() + { + Assert.That( + IID_ID3D12Fence, + Is.EqualTo( + new Guid(0x0a753dcf, 0xc4d8, 0x4b91, 0xad, 0xf6, 0xbe, 0x5a, 0x60, 0xd9, 0x5a, 0x76) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Fence1Test() + { + Assert.That( + IID_ID3D12Fence1, + Is.EqualTo( + new Guid(0x433685fe, 0xe22b, 0x4ca0, 0xa8, 0xdb, 0xb5, 0xb4, 0xf4, 0xdd, 0x0e, 0x4a) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12PipelineStateTest() + { + Assert.That( + IID_ID3D12PipelineState, + Is.EqualTo( + new Guid(0x765a30f3, 0xf624, 0x4c6f, 0xa8, 0x28, 0xac, 0xe9, 0x48, 0x62, 0x24, 0x45) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DescriptorHeapTest() + { + Assert.That( + IID_ID3D12DescriptorHeap, + Is.EqualTo( + new Guid(0x8efb471d, 0x616c, 0x4f49, 0x90, 0xf7, 0x12, 0x7b, 0xb7, 0x63, 0xfa, 0x51) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12QueryHeapTest() + { + Assert.That( + IID_ID3D12QueryHeap, + Is.EqualTo( + new Guid(0x0d9658ae, 0xed45, 0x469e, 0xa6, 0x1d, 0x97, 0x0e, 0xc5, 0x83, 0xca, 0xb4) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12CommandSignatureTest() + { + Assert.That( + IID_ID3D12CommandSignature, + Is.EqualTo( + new Guid(0xc36a797c, 0xec80, 0x4f0a, 0x89, 0x85, 0xa7, 0xb2, 0x47, 0x50, 0x82, 0xd1) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12CommandListTest() + { + Assert.That( + IID_ID3D12CommandList, + Is.EqualTo( + new Guid(0x7116d91c, 0xe7e4, 0x47ce, 0xb8, 0xc6, 0xec, 0x81, 0x68, 0xf4, 0x37, 0xe5) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandListTest() + { + Assert.That( + IID_ID3D12GraphicsCommandList, + Is.EqualTo( + new Guid(0x5b160d0f, 0xac1b, 0x4185, 0x8b, 0xa8, 0xb3, 0xae, 0x42, 0xa5, 0xa4, 0x55) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList1Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList1, + Is.EqualTo( + new Guid(0x553103fb, 0x1fe7, 0x4557, 0xbb, 0x38, 0x94, 0x6d, 0x7d, 0x0e, 0x7c, 0xa7) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList2Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList2, + Is.EqualTo( + new Guid(0x38C3E585, 0xFF17, 0x412C, 0x91, 0x50, 0x4F, 0xC6, 0xF9, 0xD7, 0x2A, 0x28) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12CommandQueueTest() + { + Assert.That( + IID_ID3D12CommandQueue, + Is.EqualTo( + new Guid(0x0ec870a6, 0x5d7e, 0x4c22, 0x8c, 0xfc, 0x5b, 0xaa, 0xe0, 0x76, 0x16, 0xed) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceTest() + { + Assert.That( + IID_ID3D12Device, + Is.EqualTo( + new Guid(0x189819f1, 0x1db6, 0x4b57, 0xbe, 0x54, 0x18, 0x21, 0x33, 0x9b, 0x85, 0xf7) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12PipelineLibraryTest() + { + Assert.That( + IID_ID3D12PipelineLibrary, + Is.EqualTo( + new Guid(0xc64226a8, 0x9201, 0x46af, 0xb4, 0xcc, 0x53, 0xfb, 0x9f, 0xf7, 0x41, 0x4f) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12PipelineLibrary1Test() + { + Assert.That( + IID_ID3D12PipelineLibrary1, + Is.EqualTo( + new Guid(0x80eabf42, 0x2568, 0x4e5e, 0xbd, 0x82, 0xc3, 0x7f, 0x86, 0x96, 0x1d, 0xc3) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device1Test() + { + Assert.That( + IID_ID3D12Device1, + Is.EqualTo( + new Guid(0x77acce80, 0x638e, 0x4e65, 0x88, 0x95, 0xc1, 0xf2, 0x33, 0x86, 0x86, 0x3e) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device2Test() + { + Assert.That( + IID_ID3D12Device2, + Is.EqualTo( + new Guid(0x30baa41e, 0xb15b, 0x475c, 0xa0, 0xbb, 0x1a, 0xf5, 0xc5, 0xb6, 0x43, 0x28) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device3Test() + { + Assert.That( + IID_ID3D12Device3, + Is.EqualTo( + new Guid(0x81dadc15, 0x2bad, 0x4392, 0x93, 0xc5, 0x10, 0x13, 0x45, 0xc4, 0xaa, 0x98) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ProtectedSessionTest() + { + Assert.That( + IID_ID3D12ProtectedSession, + Is.EqualTo( + new Guid(0xA1533D18, 0x0AC1, 0x4084, 0x85, 0xB9, 0x89, 0xA9, 0x61, 0x16, 0x80, 0x6B) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ProtectedResourceSessionTest() + { + Assert.That( + IID_ID3D12ProtectedResourceSession, + Is.EqualTo( + new Guid(0x6CD696F4, 0xF289, 0x40CC, 0x80, 0x91, 0x5A, 0x6C, 0x0A, 0x09, 0x9C, 0x3D) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device4Test() + { + Assert.That( + IID_ID3D12Device4, + Is.EqualTo( + new Guid(0xe865df17, 0xa9ee, 0x46f9, 0xa4, 0x63, 0x30, 0x98, 0x31, 0x5a, 0xa2, 0xe5) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12LifetimeOwnerTest() + { + Assert.That( + IID_ID3D12LifetimeOwner, + Is.EqualTo( + new Guid(0xe667af9f, 0xcd56, 0x4f46, 0x83, 0xce, 0x03, 0x2e, 0x59, 0x5d, 0x70, 0xa8) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12SwapChainAssistantTest() + { + Assert.That( + IID_ID3D12SwapChainAssistant, + Is.EqualTo( + new Guid(0xf1df64b6, 0x57fd, 0x49cd, 0x88, 0x07, 0xc0, 0xeb, 0x88, 0xb4, 0x5c, 0x8f) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12LifetimeTrackerTest() + { + Assert.That( + IID_ID3D12LifetimeTracker, + Is.EqualTo( + new Guid(0x3fd03d36, 0x4eb1, 0x424a, 0xa5, 0x82, 0x49, 0x4e, 0xcb, 0x8b, 0xa8, 0x13) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12StateObjectTest() + { + Assert.That( + IID_ID3D12StateObject, + Is.EqualTo( + new Guid(0x47016943, 0xfca8, 0x4594, 0x93, 0xea, 0xaf, 0x25, 0x8b, 0x55, 0x34, 0x6d) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12StateObjectPropertiesTest() + { + Assert.That( + IID_ID3D12StateObjectProperties, + Is.EqualTo( + new Guid(0xde5fa827, 0x9bf9, 0x4f26, 0x89, 0xff, 0xd7, 0xf5, 0x6f, 0xde, 0x38, 0x60) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device5Test() + { + Assert.That( + IID_ID3D12Device5, + Is.EqualTo( + new Guid(0x8b4f173b, 0x2fea, 0x4b80, 0x8f, 0x58, 0x43, 0x07, 0x19, 0x1a, 0xb9, 0x5d) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceRemovedExtendedDataSettingsTest() + { + Assert.That( + IID_ID3D12DeviceRemovedExtendedDataSettings, + Is.EqualTo( + new Guid(0x82BC481C, 0x6B9B, 0x4030, 0xAE, 0xDB, 0x7E, 0xE3, 0xD1, 0xDF, 0x1E, 0x63) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceRemovedExtendedDataSettings1Test() + { + Assert.That( + IID_ID3D12DeviceRemovedExtendedDataSettings1, + Is.EqualTo( + new Guid(0xDBD5AE51, 0x3317, 0x4F0A, 0xAD, 0xF9, 0x1D, 0x7C, 0xED, 0xCA, 0xAE, 0x0B) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceRemovedExtendedDataSettings2Test() + { + Assert.That( + IID_ID3D12DeviceRemovedExtendedDataSettings2, + Is.EqualTo( + new Guid(0x61552388, 0x01ab, 0x4008, 0xa4, 0x36, 0x83, 0xdb, 0x18, 0x95, 0x66, 0xea) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceRemovedExtendedDataTest() + { + Assert.That( + IID_ID3D12DeviceRemovedExtendedData, + Is.EqualTo( + new Guid(0x98931D33, 0x5AE8, 0x4791, 0xAA, 0x3C, 0x1A, 0x73, 0xA2, 0x93, 0x4E, 0x71) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceRemovedExtendedData1Test() + { + Assert.That( + IID_ID3D12DeviceRemovedExtendedData1, + Is.EqualTo( + new Guid(0x9727A022, 0xCF1D, 0x4DDA, 0x9E, 0xBA, 0xEF, 0xFA, 0x65, 0x3F, 0xC5, 0x06) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceRemovedExtendedData2Test() + { + Assert.That( + IID_ID3D12DeviceRemovedExtendedData2, + Is.EqualTo( + new Guid(0x67FC5816, 0xE4CA, 0x4915, 0xBF, 0x18, 0x42, 0x54, 0x12, 0x72, 0xDA, 0x54) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device6Test() + { + Assert.That( + IID_ID3D12Device6, + Is.EqualTo( + new Guid(0xc70b221b, 0x40e4, 0x4a17, 0x89, 0xaf, 0x02, 0x5a, 0x07, 0x27, 0xa6, 0xdc) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ProtectedResourceSession1Test() + { + Assert.That( + IID_ID3D12ProtectedResourceSession1, + Is.EqualTo( + new Guid(0xD6F12DD6, 0x76FB, 0x406E, 0x89, 0x61, 0x42, 0x96, 0xEE, 0xFC, 0x04, 0x09) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device7Test() + { + Assert.That( + IID_ID3D12Device7, + Is.EqualTo( + new Guid(0x5c014b53, 0x68a1, 0x4b9b, 0x8b, 0xd1, 0xdd, 0x60, 0x46, 0xb9, 0x35, 0x8b) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device8Test() + { + Assert.That( + IID_ID3D12Device8, + Is.EqualTo( + new Guid(0x9218E6BB, 0xF944, 0x4F7E, 0xA7, 0x5C, 0xB1, 0xB2, 0xC7, 0xB7, 0x01, 0xF3) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Resource1Test() + { + Assert.That( + IID_ID3D12Resource1, + Is.EqualTo( + new Guid(0x9D5E227A, 0x4430, 0x4161, 0x88, 0xB3, 0x3E, 0xCA, 0x6B, 0xB1, 0x6E, 0x19) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Resource2Test() + { + Assert.That( + IID_ID3D12Resource2, + Is.EqualTo( + new Guid(0xBE36EC3B, 0xEA85, 0x4AEB, 0xA4, 0x5A, 0xE9, 0xD7, 0x64, 0x04, 0xA4, 0x95) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Heap1Test() + { + Assert.That( + IID_ID3D12Heap1, + Is.EqualTo( + new Guid(0x572F7389, 0x2168, 0x49E3, 0x96, 0x93, 0xD6, 0xDF, 0x58, 0x71, 0xBF, 0x6D) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList3Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList3, + Is.EqualTo( + new Guid(0x6FDA83A7, 0xB84C, 0x4E38, 0x9A, 0xC8, 0xC7, 0xBD, 0x22, 0x01, 0x6B, 0x3D) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12MetaCommandTest() + { + Assert.That( + IID_ID3D12MetaCommand, + Is.EqualTo( + new Guid(0xDBB84C27, 0x36CE, 0x4FC9, 0xB8, 0x01, 0xF0, 0x48, 0xC4, 0x6A, 0xC5, 0x70) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList4Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList4, + Is.EqualTo( + new Guid(0x8754318e, 0xd3a9, 0x4541, 0x98, 0xcf, 0x64, 0x5b, 0x50, 0xdc, 0x48, 0x74) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ShaderCacheSessionTest() + { + Assert.That( + IID_ID3D12ShaderCacheSession, + Is.EqualTo( + new Guid(0x28e2495d, 0x0f64, 0x4ae4, 0xa6, 0xec, 0x12, 0x92, 0x55, 0xdc, 0x49, 0xa8) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device9Test() + { + Assert.That( + IID_ID3D12Device9, + Is.EqualTo( + new Guid(0x4c80e962, 0xf032, 0x4f60, 0xbc, 0x9e, 0xeb, 0xc2, 0xcf, 0xa1, 0xd8, 0x3c) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device10Test() + { + Assert.That( + IID_ID3D12Device10, + Is.EqualTo( + new Guid(0x517f8718, 0xaa66, 0x49f9, 0xb0, 0x2b, 0xa7, 0xab, 0x89, 0xc0, 0x60, 0x31) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Device11Test() + { + Assert.That( + IID_ID3D12Device11, + Is.EqualTo( + new Guid(0x5405c344, 0xd457, 0x444e, 0xb4, 0xdd, 0x23, 0x66, 0xe4, 0x5a, 0xee, 0x39) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VirtualizationGuestDeviceTest() + { + Assert.That( + IID_ID3D12VirtualizationGuestDevice, + Is.EqualTo( + new Guid(0xbc66d368, 0x7373, 0x4943, 0x87, 0x57, 0xfc, 0x87, 0xdc, 0x79, 0xe4, 0x76) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ToolsTest() + { + Assert.That( + IID_ID3D12Tools, + Is.EqualTo( + new Guid(0x7071e1f0, 0xe84b, 0x4b33, 0x97, 0x4f, 0x12, 0xfa, 0x49, 0xde, 0x65, 0xc5) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12SDKConfigurationTest() + { + Assert.That( + IID_ID3D12SDKConfiguration, + Is.EqualTo( + new Guid(0xe9eb5314, 0x33aa, 0x42b2, 0xa7, 0x18, 0xd7, 0x7f, 0x58, 0xb1, 0xf1, 0xc7) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12SDKConfiguration1Test() + { + Assert.That( + IID_ID3D12SDKConfiguration1, + Is.EqualTo( + new Guid(0x8aaf9303, 0xad25, 0x48b9, 0x9a, 0x57, 0xd9, 0xc3, 0x7e, 0x00, 0x9d, 0x9f) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceFactoryTest() + { + Assert.That( + IID_ID3D12DeviceFactory, + Is.EqualTo( + new Guid(0x61f307d3, 0xd34e, 0x4e7c, 0x83, 0x74, 0x3b, 0xa4, 0xde, 0x23, 0xcc, 0xcb) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceConfigurationTest() + { + Assert.That( + IID_ID3D12DeviceConfiguration, + Is.EqualTo( + new Guid(0x78dbf87b, 0xf766, 0x422b, 0xa6, 0x1c, 0xc8, 0xc4, 0x46, 0xbd, 0xb9, 0xad) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList5Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList5, + Is.EqualTo( + new Guid(0x55050859, 0x4024, 0x474c, 0x87, 0xf5, 0x64, 0x72, 0xea, 0xee, 0x44, 0xea) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList6Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList6, + Is.EqualTo( + new Guid(0xc3827890, 0xe548, 0x4cfa, 0x96, 0xcf, 0x56, 0x89, 0xa9, 0x37, 0x0f, 0x80) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList7Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList7, + Is.EqualTo( + new Guid(0xdd171223, 0x8b61, 0x4769, 0x90, 0xe3, 0x16, 0x0c, 0xcd, 0xe4, 0xe2, 0xc1) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12GraphicsCommandList8Test() + { + Assert.That( + IID_ID3D12GraphicsCommandList8, + Is.EqualTo( + new Guid(0xee936ef9, 0x599d, 0x4d28, 0x93, 0x8e, 0x23, 0xc4, 0xad, 0x05, 0xce, 0x51) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/D3D11On12CreatorIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/D3D11On12CreatorIDTests.gen.cs new file mode 100644 index 0000000000..80cd9c7fe8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/D3D11On12CreatorIDTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D11On12CreatorIDTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(D3D11On12CreatorID).GUID, Is.EqualTo(IID_D3D11On12CreatorID)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D11On12CreatorID))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D11On12CreatorID).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D11On12CreatorID), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D11On12CreatorID), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/D3D9On12CreatorIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/D3D9On12CreatorIDTests.gen.cs new file mode 100644 index 0000000000..15eb7f6464 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/D3D9On12CreatorIDTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D9On12CreatorIDTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(D3D9On12CreatorID).GUID, Is.EqualTo(IID_D3D9On12CreatorID)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D9On12CreatorID))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D9On12CreatorID).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D9On12CreatorID), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D9On12CreatorID), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/DirectMLPyTorchCreatorIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/DirectMLPyTorchCreatorIDTests.gen.cs new file mode 100644 index 0000000000..8edf1d9521 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/DirectMLPyTorchCreatorIDTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class DirectMLPyTorchCreatorIDTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(DirectMLPyTorchCreatorID).GUID, + Is.EqualTo(IID_DirectMLPyTorchCreatorID) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(DirectMLPyTorchCreatorID)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DirectMLPyTorchCreatorID).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(DirectMLPyTorchCreatorID), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(DirectMLPyTorchCreatorID), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/DirectMLTensorFlowCreatorIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/DirectMLTensorFlowCreatorIDTests.gen.cs new file mode 100644 index 0000000000..1376bd1957 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/DirectMLTensorFlowCreatorIDTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class DirectMLTensorFlowCreatorIDTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(DirectMLTensorFlowCreatorID).GUID, + Is.EqualTo(IID_DirectMLTensorFlowCreatorID) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(DirectMLTensorFlowCreatorID)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DirectMLTensorFlowCreatorID).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(DirectMLTensorFlowCreatorID), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(DirectMLTensorFlowCreatorID), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/ID3D12CompatibilityDeviceTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/ID3D12CompatibilityDeviceTests.gen.cs new file mode 100644 index 0000000000..71c5e3efa4 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/ID3D12CompatibilityDeviceTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12CompatibilityDeviceTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12CompatibilityDevice).GUID, + Is.EqualTo(IID_ID3D12CompatibilityDevice) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12CompatibilityDevice)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12CompatibilityDevice).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12CompatibilityDevice), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12CompatibilityDevice), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/IIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/IIDTests.gen.cs new file mode 100644 index 0000000000..58ba5e1c65 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/IIDTests.gen.cs @@ -0,0 +1,103 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12CompatibilityDeviceTest() + { + Assert.That( + IID_ID3D12CompatibilityDevice, + Is.EqualTo( + new Guid(0x8f1c0e3c, 0xfae3, 0x4a82, 0xb0, 0x98, 0xbf, 0xe1, 0x70, 0x82, 0x07, 0xff) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_D3D11On12CreatorIDTest() + { + Assert.That( + IID_D3D11On12CreatorID, + Is.EqualTo( + new Guid(0xedbf5678, 0x2960, 0x4e81, 0x84, 0x29, 0x99, 0xd4, 0xb2, 0x63, 0x0c, 0x4e) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_D3D9On12CreatorIDTest() + { + Assert.That( + IID_D3D9On12CreatorID, + Is.EqualTo( + new Guid(0xfffcbb7f, 0x15d3, 0x42a2, 0x84, 0x1e, 0x9d, 0x8d, 0x32, 0xf3, 0x7d, 0xdd) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_OpenGLOn12CreatorIDTest() + { + Assert.That( + IID_OpenGLOn12CreatorID, + Is.EqualTo( + new Guid(0x6bb3cd34, 0x0d19, 0x45ab, 0x97, 0xed, 0xd7, 0x20, 0xba, 0x3d, 0xfc, 0x80) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_OpenCLOn12CreatorIDTest() + { + Assert.That( + IID_OpenCLOn12CreatorID, + Is.EqualTo( + new Guid(0x3f76bb74, 0x91b5, 0x4a88, 0xb1, 0x26, 0x20, 0xca, 0x03, 0x31, 0xcd, 0x60) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_DirectMLTensorFlowCreatorIDTest() + { + Assert.That( + IID_DirectMLTensorFlowCreatorID, + Is.EqualTo( + new Guid(0xcb7490ac, 0x8a0f, 0x44ec, 0x9b, 0x7b, 0x6f, 0x4c, 0xaf, 0xe8, 0xe9, 0xab) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_DirectMLPyTorchCreatorIDTest() + { + Assert.That( + IID_DirectMLPyTorchCreatorID, + Is.EqualTo( + new Guid(0xaf029192, 0xfba1, 0x4b05, 0x91, 0x16, 0x23, 0x5e, 0x06, 0x56, 0x03, 0x54) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/OpenCLOn12CreatorIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/OpenCLOn12CreatorIDTests.gen.cs new file mode 100644 index 0000000000..a3c0346698 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/OpenCLOn12CreatorIDTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class OpenCLOn12CreatorIDTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(OpenCLOn12CreatorID).GUID, Is.EqualTo(IID_OpenCLOn12CreatorID)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(OpenCLOn12CreatorID))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(OpenCLOn12CreatorID).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(OpenCLOn12CreatorID), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(OpenCLOn12CreatorID), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12compatibility/OpenGLOn12CreatorIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12compatibility/OpenGLOn12CreatorIDTests.gen.cs new file mode 100644 index 0000000000..20a0ebed6f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12compatibility/OpenGLOn12CreatorIDTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12compatibility.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class OpenGLOn12CreatorIDTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(OpenGLOn12CreatorID).GUID, Is.EqualTo(IID_OpenGLOn12CreatorID)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(OpenGLOn12CreatorID))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(OpenGLOn12CreatorID).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(OpenGLOn12CreatorID), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(OpenGLOn12CreatorID), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGSTests.gen.cs new file mode 100644 index 0000000000..cf05bcdfe3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGSTests.gen.cs new file mode 100644 index 0000000000..6b1136a246 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTORTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTORTests.gen.cs new file mode 100644 index 0000000000..c4e0631173 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTORTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTORTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTERTests.gen.cs new file mode 100644 index 0000000000..5c18eb03ab --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTERTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_INFO_QUEUE_FILTERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_INFO_QUEUE_FILTER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_INFO_QUEUE_FILTER).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_INFO_QUEUE_FILTER), Is.EqualTo(96)); + } + else + { + Assert.That(sizeof(D3D12_INFO_QUEUE_FILTER), Is.EqualTo(48)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER_DESCTests.gen.cs new file mode 100644 index 0000000000..490f49e592 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_INFO_QUEUE_FILTER_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_INFO_QUEUE_FILTER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_INFO_QUEUE_FILTER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_INFO_QUEUE_FILTER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_INFO_QUEUE_FILTER_DESC), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_INFO_QUEUE_FILTER_DESC), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGETests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGETests.gen.cs new file mode 100644 index 0000000000..43d631bcd1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/D3D12_MESSAGETests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_MESSAGETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_MESSAGE))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_MESSAGE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_MESSAGE), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_MESSAGE), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/DXGITests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/DXGITests.gen.cs new file mode 100644 index 0000000000..fda9c84e90 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/DXGITests.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.DXGI; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static partial class DXGITests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void DXGI_DEBUG_D3D12Test() + { + Assert.That( + DXGI_DEBUG_D3D12, + Is.EqualTo( + new Guid(0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/DirectXTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/DirectXTests.gen.cs new file mode 100644 index 0000000000..13e74a1763 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/DirectXTests.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.DirectX; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static partial class DirectXTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void WKPDID_D3DAutoDebugObjectNameWTest() + { + Assert.That( + WKPDID_D3DAutoDebugObjectNameW, + Is.EqualTo( + new Guid(0xd4902e36, 0x757a, 0x4942, 0x95, 0x94, 0xb6, 0x76, 0x9a, 0xfa, 0x43, 0xcd) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug1Tests.gen.cs new file mode 100644 index 0000000000..7bc933181d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Debug1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Debug1).GUID, Is.EqualTo(IID_ID3D12Debug1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Debug1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Debug1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Debug1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Debug1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug2Tests.gen.cs new file mode 100644 index 0000000000..5cc24f5d24 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug2Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Debug2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Debug2).GUID, Is.EqualTo(IID_ID3D12Debug2)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Debug2))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Debug2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Debug2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Debug2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug3Tests.gen.cs new file mode 100644 index 0000000000..c8e542284b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug3Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Debug3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Debug3).GUID, Is.EqualTo(IID_ID3D12Debug3)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Debug3))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Debug3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Debug3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Debug3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug4Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug4Tests.gen.cs new file mode 100644 index 0000000000..ccc402f1b5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug4Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Debug4Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Debug4).GUID, Is.EqualTo(IID_ID3D12Debug4)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Debug4))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Debug4).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Debug4), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Debug4), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug5Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug5Tests.gen.cs new file mode 100644 index 0000000000..233adf2762 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug5Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Debug5Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Debug5).GUID, Is.EqualTo(IID_ID3D12Debug5)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Debug5))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Debug5).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Debug5), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Debug5), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug6Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug6Tests.gen.cs new file mode 100644 index 0000000000..2d4fe8a8d6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12Debug6Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12Debug6Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Debug6).GUID, Is.EqualTo(IID_ID3D12Debug6)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Debug6))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Debug6).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Debug6), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Debug6), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList1Tests.gen.cs new file mode 100644 index 0000000000..b0beb9bfa2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList1Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugCommandList1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugCommandList1).GUID, Is.EqualTo(IID_ID3D12DebugCommandList1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DebugCommandList1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugCommandList1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugCommandList1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugCommandList1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList2Tests.gen.cs new file mode 100644 index 0000000000..bd492670c3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList2Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugCommandList2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugCommandList2).GUID, Is.EqualTo(IID_ID3D12DebugCommandList2)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DebugCommandList2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugCommandList2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugCommandList2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugCommandList2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList3Tests.gen.cs new file mode 100644 index 0000000000..d8b846fdbc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandList3Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugCommandList3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugCommandList3).GUID, Is.EqualTo(IID_ID3D12DebugCommandList3)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DebugCommandList3)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugCommandList3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugCommandList3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugCommandList3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandListTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandListTests.gen.cs new file mode 100644 index 0000000000..1418be5f71 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandListTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugCommandListTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugCommandList).GUID, Is.EqualTo(IID_ID3D12DebugCommandList)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DebugCommandList)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugCommandList).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugCommandList), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugCommandList), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue1Tests.gen.cs new file mode 100644 index 0000000000..dd3f98e5ba --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueue1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugCommandQueue1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12DebugCommandQueue1).GUID, + Is.EqualTo(IID_ID3D12DebugCommandQueue1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DebugCommandQueue1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugCommandQueue1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugCommandQueue1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugCommandQueue1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueueTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueueTests.gen.cs new file mode 100644 index 0000000000..e48e457548 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugCommandQueueTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugCommandQueueTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugCommandQueue).GUID, Is.EqualTo(IID_ID3D12DebugCommandQueue)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DebugCommandQueue)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugCommandQueue).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugCommandQueue), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugCommandQueue), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice1Tests.gen.cs new file mode 100644 index 0000000000..ad45e57fc5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugDevice1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugDevice1).GUID, Is.EqualTo(IID_ID3D12DebugDevice1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12DebugDevice1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugDevice1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugDevice1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugDevice1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice2Tests.gen.cs new file mode 100644 index 0000000000..c20963f326 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDevice2Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugDevice2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugDevice2).GUID, Is.EqualTo(IID_ID3D12DebugDevice2)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12DebugDevice2))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugDevice2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugDevice2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugDevice2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDeviceTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDeviceTests.gen.cs new file mode 100644 index 0000000000..e21685c375 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugDeviceTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugDeviceTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DebugDevice).GUID, Is.EqualTo(IID_ID3D12DebugDevice)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12DebugDevice))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DebugDevice).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DebugDevice), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DebugDevice), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugTests.gen.cs new file mode 100644 index 0000000000..704d6727e5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12DebugTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DebugTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12Debug).GUID, Is.EqualTo(IID_ID3D12Debug)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12Debug))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12Debug).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12Debug), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12Debug), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue1Tests.gen.cs new file mode 100644 index 0000000000..8f86f8568b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueue1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12InfoQueue1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12InfoQueue1).GUID, Is.EqualTo(IID_ID3D12InfoQueue1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12InfoQueue1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12InfoQueue1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12InfoQueue1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12InfoQueue1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueueTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueueTests.gen.cs new file mode 100644 index 0000000000..f1e2b3b817 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12InfoQueueTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12InfoQueueTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12InfoQueue).GUID, Is.EqualTo(IID_ID3D12InfoQueue)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12InfoQueue))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12InfoQueue).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12InfoQueue), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12InfoQueue), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12SharingContractTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12SharingContractTests.gen.cs new file mode 100644 index 0000000000..1ea10a275d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/ID3D12SharingContractTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12SharingContractTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12SharingContract).GUID, Is.EqualTo(IID_ID3D12SharingContract)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12SharingContract)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12SharingContract).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12SharingContract), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12SharingContract), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12sdklayers/IIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12sdklayers/IIDTests.gen.cs new file mode 100644 index 0000000000..08dc24639d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12sdklayers/IIDTests.gen.cs @@ -0,0 +1,259 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12sdklayers.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugTest() + { + Assert.That( + IID_ID3D12Debug, + Is.EqualTo( + new Guid(0x344488b7, 0x6846, 0x474b, 0xb9, 0x89, 0xf0, 0x27, 0x44, 0x82, 0x45, 0xe0) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Debug1Test() + { + Assert.That( + IID_ID3D12Debug1, + Is.EqualTo( + new Guid(0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8, 0xad, 0x15, 0x90, 0x00, 0xaf, 0x43, 0x04) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Debug2Test() + { + Assert.That( + IID_ID3D12Debug2, + Is.EqualTo( + new Guid(0x93a665c4, 0xa3b2, 0x4e5d, 0xb6, 0x92, 0xa2, 0x6a, 0xe1, 0x4e, 0x33, 0x74) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Debug3Test() + { + Assert.That( + IID_ID3D12Debug3, + Is.EqualTo( + new Guid(0x5cf4e58f, 0xf671, 0x4ff1, 0xa5, 0x42, 0x36, 0x86, 0xe3, 0xd1, 0x53, 0xd1) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Debug4Test() + { + Assert.That( + IID_ID3D12Debug4, + Is.EqualTo( + new Guid(0x014b816e, 0x9ec5, 0x4a2f, 0xa8, 0x45, 0xff, 0xbe, 0x44, 0x1c, 0xe1, 0x3a) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Debug5Test() + { + Assert.That( + IID_ID3D12Debug5, + Is.EqualTo( + new Guid(0x548d6b12, 0x09fa, 0x40e0, 0x90, 0x69, 0x5d, 0xcd, 0x58, 0x9a, 0x52, 0xc9) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12Debug6Test() + { + Assert.That( + IID_ID3D12Debug6, + Is.EqualTo( + new Guid(0x82a816d6, 0x5d01, 0x4157, 0x97, 0xd0, 0x49, 0x75, 0x46, 0x3f, 0xd1, 0xed) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugDevice1Test() + { + Assert.That( + IID_ID3D12DebugDevice1, + Is.EqualTo( + new Guid(0xa9b71770, 0xd099, 0x4a65, 0xa6, 0x98, 0x3d, 0xee, 0x10, 0x02, 0x0f, 0x88) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugDeviceTest() + { + Assert.That( + IID_ID3D12DebugDevice, + Is.EqualTo( + new Guid(0x3febd6dd, 0x4973, 0x4787, 0x81, 0x94, 0xe4, 0x5f, 0x9e, 0x28, 0x92, 0x3e) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugDevice2Test() + { + Assert.That( + IID_ID3D12DebugDevice2, + Is.EqualTo( + new Guid(0x60eccbc1, 0x378d, 0x4df1, 0x89, 0x4c, 0xf8, 0xac, 0x5c, 0xe4, 0xd7, 0xdd) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugCommandQueueTest() + { + Assert.That( + IID_ID3D12DebugCommandQueue, + Is.EqualTo( + new Guid(0x09e0bf36, 0x54ac, 0x484f, 0x88, 0x47, 0x4b, 0xae, 0xea, 0xb6, 0x05, 0x3a) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugCommandQueue1Test() + { + Assert.That( + IID_ID3D12DebugCommandQueue1, + Is.EqualTo( + new Guid(0x16be35a2, 0xbfd6, 0x49f2, 0xbc, 0xae, 0xea, 0xae, 0x4a, 0xff, 0x86, 0x2d) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugCommandList1Test() + { + Assert.That( + IID_ID3D12DebugCommandList1, + Is.EqualTo( + new Guid(0x102ca951, 0x311b, 0x4b01, 0xb1, 0x1f, 0xec, 0xb8, 0x3e, 0x06, 0x1b, 0x37) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugCommandListTest() + { + Assert.That( + IID_ID3D12DebugCommandList, + Is.EqualTo( + new Guid(0x09e0bf36, 0x54ac, 0x484f, 0x88, 0x47, 0x4b, 0xae, 0xea, 0xb6, 0x05, 0x3f) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugCommandList2Test() + { + Assert.That( + IID_ID3D12DebugCommandList2, + Is.EqualTo( + new Guid(0xaeb575cf, 0x4e06, 0x48be, 0xba, 0x3b, 0xc4, 0x50, 0xfc, 0x96, 0x65, 0x2e) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DebugCommandList3Test() + { + Assert.That( + IID_ID3D12DebugCommandList3, + Is.EqualTo( + new Guid(0x197d5e15, 0x4d37, 0x4d34, 0xaf, 0x78, 0x72, 0x4c, 0xd7, 0x0f, 0xdb, 0x1f) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12SharingContractTest() + { + Assert.That( + IID_ID3D12SharingContract, + Is.EqualTo( + new Guid(0x0adf7d52, 0x929c, 0x4e61, 0xad, 0xdb, 0xff, 0xed, 0x30, 0xde, 0x66, 0xef) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12InfoQueueTest() + { + Assert.That( + IID_ID3D12InfoQueue, + Is.EqualTo( + new Guid(0x0742a90b, 0xc387, 0x483f, 0xb9, 0x46, 0x30, 0xa7, 0xe4, 0xe6, 0x14, 0x58) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12InfoQueue1Test() + { + Assert.That( + IID_ID3D12InfoQueue1, + Is.EqualTo( + new Guid(0x2852dd88, 0xb484, 0x4c0c, 0xb6, 0xb1, 0x67, 0x16, 0x85, 0x00, 0xe6, 0x00) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_FUNCTION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_FUNCTION_DESCTests.gen.cs new file mode 100644 index 0000000000..c8be2c832e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_FUNCTION_DESCTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FUNCTION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_FUNCTION_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FUNCTION_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FUNCTION_DESC), Is.EqualTo(152)); + } + else + { + Assert.That(sizeof(D3D12_FUNCTION_DESC), Is.EqualTo(144)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_LIBRARY_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_LIBRARY_DESCTests.gen.cs new file mode 100644 index 0000000000..b801cc10b2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_LIBRARY_DESCTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_LIBRARY_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_LIBRARY_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_LIBRARY_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_LIBRARY_DESC), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_LIBRARY_DESC), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_PARAMETER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_PARAMETER_DESCTests.gen.cs new file mode 100644 index 0000000000..220131d299 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_PARAMETER_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_PARAMETER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_PARAMETER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_PARAMETER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_PARAMETER_DESC), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_PARAMETER_DESC), Is.EqualTo(48)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_BUFFER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_BUFFER_DESCTests.gen.cs new file mode 100644 index 0000000000..78df9a888d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_BUFFER_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_BUFFER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SHADER_BUFFER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_BUFFER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SHADER_BUFFER_DESC), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_SHADER_BUFFER_DESC), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_DESCTests.gen.cs new file mode 100644 index 0000000000..aafd3730e0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_DESCTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_SHADER_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SHADER_DESC), Is.EqualTo(160)); + } + else + { + Assert.That(sizeof(D3D12_SHADER_DESC), Is.EqualTo(152)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_INPUT_BIND_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_INPUT_BIND_DESCTests.gen.cs new file mode 100644 index 0000000000..36581043e9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_INPUT_BIND_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_INPUT_BIND_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SHADER_INPUT_BIND_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_INPUT_BIND_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SHADER_INPUT_BIND_DESC), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_SHADER_INPUT_BIND_DESC), Is.EqualTo(40)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_TYPE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_TYPE_DESCTests.gen.cs new file mode 100644 index 0000000000..9d5361b13d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_TYPE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_TYPE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SHADER_TYPE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_TYPE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SHADER_TYPE_DESC), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_SHADER_TYPE_DESC), Is.EqualTo(32)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VARIABLE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VARIABLE_DESCTests.gen.cs new file mode 100644 index 0000000000..501ea85574 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SHADER_VARIABLE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SHADER_VARIABLE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SHADER_VARIABLE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SHADER_VARIABLE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SHADER_VARIABLE_DESC), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_SHADER_VARIABLE_DESC), Is.EqualTo(36)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/D3D12_SIGNATURE_PARAMETER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SIGNATURE_PARAMETER_DESCTests.gen.cs new file mode 100644 index 0000000000..b4773db27a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/D3D12_SIGNATURE_PARAMETER_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_SIGNATURE_PARAMETER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_SIGNATURE_PARAMETER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_SIGNATURE_PARAMETER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_SIGNATURE_PARAMETER_DESC), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_SIGNATURE_PARAMETER_DESC), Is.EqualTo(32)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/ID3D12FunctionParameterReflectionTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/ID3D12FunctionParameterReflectionTests.gen.cs new file mode 100644 index 0000000000..47504a71d2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/ID3D12FunctionParameterReflectionTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12FunctionParameterReflectionTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12FunctionParameterReflection).GUID, + Is.EqualTo(IID_ID3D12FunctionParameterReflection) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12FunctionParameterReflection)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12FunctionParameterReflection).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12FunctionParameterReflection), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12FunctionParameterReflection), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/ID3D12FunctionReflectionTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/ID3D12FunctionReflectionTests.gen.cs new file mode 100644 index 0000000000..23aea0a2fd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/ID3D12FunctionReflectionTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12FunctionReflectionTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12FunctionReflection).GUID, + Is.EqualTo(IID_ID3D12FunctionReflection) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12FunctionReflection)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12FunctionReflection).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12FunctionReflection), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12FunctionReflection), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/ID3D12LibraryReflectionTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/ID3D12LibraryReflectionTests.gen.cs new file mode 100644 index 0000000000..c30a09ec86 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/ID3D12LibraryReflectionTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12LibraryReflectionTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12LibraryReflection).GUID, Is.EqualTo(IID_ID3D12LibraryReflection)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12LibraryReflection)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12LibraryReflection).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12LibraryReflection), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12LibraryReflection), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionConstantBufferTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionConstantBufferTests.gen.cs new file mode 100644 index 0000000000..c13bb32afc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionConstantBufferTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ShaderReflectionConstantBufferTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12ShaderReflectionConstantBuffer).GUID, + Is.EqualTo(IID_ID3D12ShaderReflectionConstantBuffer) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ShaderReflectionConstantBuffer)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ShaderReflectionConstantBuffer).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ShaderReflectionConstantBuffer), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ShaderReflectionConstantBuffer), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionTests.gen.cs new file mode 100644 index 0000000000..520accc269 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ShaderReflectionTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12ShaderReflection).GUID, Is.EqualTo(IID_ID3D12ShaderReflection)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ShaderReflection)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ShaderReflection).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ShaderReflection), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ShaderReflection), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionTypeTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionTypeTests.gen.cs new file mode 100644 index 0000000000..09276ffe0e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionTypeTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ShaderReflectionTypeTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12ShaderReflectionType).GUID, + Is.EqualTo(IID_ID3D12ShaderReflectionType) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ShaderReflectionType)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ShaderReflectionType).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ShaderReflectionType), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ShaderReflectionType), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionVariableTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionVariableTests.gen.cs new file mode 100644 index 0000000000..f395865083 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/ID3D12ShaderReflectionVariableTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12ShaderReflectionVariableTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12ShaderReflectionVariable).GUID, + Is.EqualTo(IID_ID3D12ShaderReflectionVariable) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12ShaderReflectionVariable)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12ShaderReflectionVariable).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12ShaderReflectionVariable), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12ShaderReflectionVariable), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12shader/IIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12shader/IIDTests.gen.cs new file mode 100644 index 0000000000..85a21182f7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12shader/IIDTests.gen.cs @@ -0,0 +1,103 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12shader.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ShaderReflectionTypeTest() + { + Assert.That( + IID_ID3D12ShaderReflectionType, + Is.EqualTo( + new Guid(0xe913c351, 0x783d, 0x48ca, 0xa1, 0xd1, 0x4f, 0x30, 0x62, 0x84, 0xad, 0x56) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ShaderReflectionVariableTest() + { + Assert.That( + IID_ID3D12ShaderReflectionVariable, + Is.EqualTo( + new Guid(0x8337a8a6, 0xa216, 0x444a, 0xb2, 0xf4, 0x31, 0x47, 0x33, 0xa7, 0x3a, 0xea) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ShaderReflectionConstantBufferTest() + { + Assert.That( + IID_ID3D12ShaderReflectionConstantBuffer, + Is.EqualTo( + new Guid(0xc59598b4, 0x48b3, 0x4869, 0xb9, 0xb1, 0xb1, 0x61, 0x8b, 0x14, 0xa8, 0xb7) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12ShaderReflectionTest() + { + Assert.That( + IID_ID3D12ShaderReflection, + Is.EqualTo( + new Guid(0x5a58797d, 0xa72c, 0x478d, 0x8b, 0xa2, 0xef, 0xc6, 0xb0, 0xef, 0xe8, 0x8e) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12LibraryReflectionTest() + { + Assert.That( + IID_ID3D12LibraryReflection, + Is.EqualTo( + new Guid(0x8e349d19, 0x54db, 0x4a56, 0x9d, 0xc9, 0x11, 0x9d, 0x87, 0xbd, 0xb8, 0x4) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12FunctionReflectionTest() + { + Assert.That( + IID_ID3D12FunctionReflection, + Is.EqualTo( + new Guid(0x1108795c, 0x2772, 0x4ba9, 0xb2, 0xa8, 0xd4, 0x64, 0xdc, 0x7e, 0x27, 0x99) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12FunctionParameterReflectionTest() + { + Assert.That( + IID_ID3D12FunctionParameterReflection, + Is.EqualTo( + new Guid(0xec25f42d, 0x7006, 0x4f2b, 0xb3, 0x3e, 0x2, 0xcc, 0x33, 0x75, 0x73, 0x3f) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12Tests.gen.cs new file mode 100644 index 0000000000..932bb868bc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12Tests.gen.cs @@ -0,0 +1,272 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.D3D12; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static partial class D3D12Tests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_MPEG2Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_MPEG2, + Is.EqualTo( + new Guid(0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_MPEG1_AND_MPEG2Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_MPEG1_AND_MPEG2, + Is.EqualTo( + new Guid(0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_H264Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_H264, + Is.EqualTo( + new Guid(0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_H264_STEREO_PROGRESSIVETest() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_H264_STEREO_PROGRESSIVE, + Is.EqualTo( + new Guid(0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_H264_STEREOTest() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_H264_STEREO, + Is.EqualTo( + new Guid(0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_H264_MULTIVIEWTest() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_H264_MULTIVIEW, + Is.EqualTo( + new Guid(0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_VC1Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_VC1, + Is.EqualTo( + new Guid(0x1b81beA3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_VC1_D2010Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_VC1_D2010, + Is.EqualTo( + new Guid(0x1b81beA4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_SIMPLETest() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_SIMPLE, + Is.EqualTo( + new Guid(0xefd64d74, 0xc9e8, 0x41d7, 0xa5, 0xe9, 0xe9, 0xb0, 0xe3, 0x9f, 0xa3, 0x19) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_ADVSIMPLE_NOGMCTest() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_MPEG4PT2_ADVSIMPLE_NOGMC, + Is.EqualTo( + new Guid(0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_HEVC_MAINTest() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN, + Is.EqualTo( + new Guid(0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_HEVC_MAIN10, + Is.EqualTo( + new Guid(0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_VP9Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_VP9, + Is.EqualTo( + new Guid(0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_VP9_10BIT_PROFILE2Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_VP9_10BIT_PROFILE2, + Is.EqualTo( + new Guid(0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_VP8Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_VP8, + Is.EqualTo( + new Guid(0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE0Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE0, + Is.EqualTo( + new Guid(0xb8be4ccb, 0xcf53, 0x46ba, 0x8d, 0x59, 0xd6, 0xb8, 0xa6, 0xda, 0x5d, 0x2a) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE1Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE1, + Is.EqualTo( + new Guid(0x6936ff0f, 0x45b1, 0x4163, 0x9c, 0xc1, 0x64, 0x6e, 0xf6, 0x94, 0x61, 0x08) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_AV1_PROFILE2, + Is.EqualTo( + new Guid(0x0c5f2aa1, 0xe541, 0x4089, 0xbb, 0x7b, 0x98, 0x11, 0x0a, 0x19, 0xd7, 0xc8) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2, + Is.EqualTo( + new Guid(0x17127009, 0xa00f, 0x4ce1, 0x99, 0x4e, 0xbf, 0x40, 0x81, 0xf6, 0xf3, 0xf0) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420Test() + { + Assert.That( + D3D12_VIDEO_DECODE_PROFILE_AV1_12BIT_PROFILE2_420, + Is.EqualTo( + new Guid(0x2d80bed6, 0x9cac, 0x4835, 0x9e, 0x91, 0x32, 0x7b, 0xbc, 0x4f, 0x9e, 0xe8) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ARCHITECTURETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ARCHITECTURETests.gen.cs new file mode 100644 index 0000000000..3711108d0f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ARCHITECTURETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ARCHITECTURETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ARCHITECTURE), Is.EqualTo(4)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1Tests.gen.cs new file mode 100644 index 0000000000..fbd800d58b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1Tests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE1), Is.EqualTo(80)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZETests.gen.cs new file mode 100644 index 0000000000..f706035565 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE), Is.EqualTo(72)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..371abfe01b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORTTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT), Is.EqualTo(88)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATSTests.gen.cs new file mode 100644 index 0000000000..4e50bbe8b2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS), Is.EqualTo(36)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNTTests.gen.cs new file mode 100644 index 0000000000..7275eb9c50 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNTTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_FORMAT_COUNT), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAMTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAMTests.gen.cs new file mode 100644 index 0000000000..2823416af3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAMTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAMTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM), Is.EqualTo(44)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILESTests.gen.cs new file mode 100644 index 0000000000..56350076e9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILESTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNTTests.gen.cs new file mode 100644 index 0000000000..be92274563 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNTTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILE_COUNT), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCESTests.gen.cs new file mode 100644 index 0000000000..23e0196a51 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCESTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_PROTECTED_RESOURCES), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..f798ce5454 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORTTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT), Is.EqualTo(64)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODECTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODECTests.gen.cs new file mode 100644 index 0000000000..a5d2a5c5ed --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODECTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_CODECTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..d9dee74644 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT), + Is.EqualTo(48) + ); + } + else + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT), + Is.EqualTo(28) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..d8a0a8af72 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT), + Is.EqualTo(48) + ); + } + else + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT), + Is.EqualTo(28) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODETests.gen.cs new file mode 100644 index 0000000000..7f3e93fac9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODETests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE), + Is.EqualTo(48) + ); + } + else + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE), + Is.EqualTo(32) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZETests.gen.cs new file mode 100644 index 0000000000..a4d003e191 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE), Is.EqualTo(88)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_HEAP_SIZE), Is.EqualTo(56)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMATTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMATTests.gen.cs new file mode 100644 index 0000000000..2caeccbadc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMATTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMATTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INPUT_FORMAT), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODETests.gen.cs new file mode 100644 index 0000000000..65b0e44d78 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODETests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE), + Is.EqualTo(48) + ); + } + else + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE), + Is.EqualTo(32) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTIONTests.gen.cs new file mode 100644 index 0000000000..f29d535a37 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTIONTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION), Is.EqualTo(44)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNTTests.gen.cs new file mode 100644 index 0000000000..d471ee7eea --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNTTests.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_OUTPUT_RESOLUTION_RATIOS_COUNT), + Is.EqualTo(12) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVELTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVELTests.gen.cs new file mode 100644 index 0000000000..2710203438 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVELTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVELTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL), Is.EqualTo(64)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_PROFILE_LEVEL), Is.EqualTo(36)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODETests.gen.cs new file mode 100644 index 0000000000..45de48f84f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODETests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RATE_CONTROL_MODE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITSTests.gen.cs new file mode 100644 index 0000000000..d34998e1f0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITSTests.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS), + Is.EqualTo(16) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTSTests.gen.cs new file mode 100644 index 0000000000..1f9aa775e3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTSTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS), + Is.EqualTo(56) + ); + } + else + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS), + Is.EqualTo(44) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..ea3d296c9f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORTTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT), Is.EqualTo(160)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT), Is.EqualTo(100)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDSTests.gen.cs new file mode 100644 index 0000000000..a20a22fecc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDSTests.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMANDS), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNTTests.gen.cs new file mode 100644 index 0000000000..aaeabb462f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNTTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERSTests.gen.cs new file mode 100644 index 0000000000..d2518e1244 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERSTests.gen.cs @@ -0,0 +1,57 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS), + Is.EqualTo(32) + ); + } + else + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS), + Is.EqualTo(28) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNTTests.gen.cs new file mode 100644 index 0000000000..99348af892 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNTTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT), + Is.EqualTo(28) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZETests.gen.cs new file mode 100644 index 0000000000..7dfad286cf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZETests.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE), Is.EqualTo(48)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..cb7947dca7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORTTests.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT), Is.EqualTo(36)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..157115ea2d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORTTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_FEATURE_AREA_SUPPORT), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATORTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATORTests.gen.cs new file mode 100644 index 0000000000..f0bb617bfd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATORTests.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATORTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCESTests.gen.cs new file mode 100644 index 0000000000..d68af94357 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCESTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES), + Is.EqualTo(8) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZETests.gen.cs new file mode 100644 index 0000000000..8913b679de --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZETests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE), Is.EqualTo(72)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1Tests.gen.cs new file mode 100644 index 0000000000..7f86230e5f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1), Is.EqualTo(56)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE1), Is.EqualTo(40)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZETests.gen.cs new file mode 100644 index 0000000000..9caf29a607 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE), Is.EqualTo(32)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMSTests.gen.cs new file mode 100644 index 0000000000..92ceab008b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCESTests.gen.cs new file mode 100644 index 0000000000..afdc819893 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCESTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_PROTECTED_RESOURCES), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFOTests.gen.cs new file mode 100644 index 0000000000..9eb9110793 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFOTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO), Is.EqualTo(44)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..acc55d4b44 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORTTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT), Is.EqualTo(608)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICSTests.gen.cs new file mode 100644 index 0000000000..a571e68334 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICSTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUTTests.gen.cs new file mode 100644 index 0000000000..14e1392a09 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUTTests.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_INPUT), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUTTests.gen.cs new file mode 100644 index 0000000000..4e971a1144 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUTTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RESOLVE_VIDEO_MOTION_VECTOR_HEAP_OUTPUT), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOURCE_COORDINATETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOURCE_COORDINATETests.gen.cs new file mode 100644 index 0000000000..d672541f06 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_RESOURCE_COORDINATETests.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_RESOURCE_COORDINATETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_RESOURCE_COORDINATE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_RESOURCE_COORDINATE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_RESOURCE_COORDINATE), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_DESCTests.gen.cs new file mode 100644 index 0000000000..f2503b9c00 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_DECODER_DESC), Is.EqualTo(28)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_HEAP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_HEAP_DESCTests.gen.cs new file mode 100644 index 0000000000..4bec01f1eb --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODER_HEAP_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODER_HEAP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODER_HEAP_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODER_HEAP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_DECODER_HEAP_DESC), Is.EqualTo(56)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAMTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAMTests.gen.cs new file mode 100644 index 0000000000..7dbe90c158 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAMTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAMTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATIONTests.gen.cs new file mode 100644 index 0000000000..04536a39e3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONFIGURATIONTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_CONFIGURATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_CONFIGURATION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_CONFIGURATION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_CONFIGURATION), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1Tests.gen.cs new file mode 100644 index 0000000000..a0aa7102a5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1Tests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1), Is.EqualTo(28)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..70073bb42f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_FRAME_ARGUMENTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_FRAME_ARGUMENTTests.gen.cs new file mode 100644 index 0000000000..ee7c13c78b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_FRAME_ARGUMENTTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_FRAME_ARGUMENTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_FRAME_ARGUMENT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_FRAME_ARGUMENT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_FRAME_ARGUMENT), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_FRAME_ARGUMENT), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..d288bd1c4a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS), Is.EqualTo(232)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS), Is.EqualTo(176)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAMTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAMTests.gen.cs new file mode 100644 index 0000000000..62d5933fd2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAMTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAMTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1Tests.gen.cs new file mode 100644 index 0000000000..717cbb16ea --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1Tests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1), Is.EqualTo(120)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1), Is.EqualTo(104)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..fbaf848d32 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS), Is.EqualTo(28)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_REFERENCE_FRAMESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_REFERENCE_FRAMESTests.gen.cs new file mode 100644 index 0000000000..f4f9c96eb9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_DECODE_REFERENCE_FRAMESTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_DECODE_REFERENCE_FRAMESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_DECODE_REFERENCE_FRAMES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_DECODE_REFERENCE_FRAMES).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_REFERENCE_FRAMES), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_DECODE_REFERENCE_FRAMES), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATIONTests.gen.cs new file mode 100644 index 0000000000..eeeb6db3d7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATIONTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_CONFIGURATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264Tests.gen.cs new file mode 100644 index 0000000000..10509c2dcd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264Tests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_H264), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVCTests.gen.cs new file mode 100644 index 0000000000..862570f5b7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..d6ccae851d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264Tests.gen.cs new file mode 100644 index 0000000000..7917272d90 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264Tests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVCTests.gen.cs new file mode 100644 index 0000000000..b901e4ecfe --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..d8c09fb43f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264Tests.gen.cs new file mode 100644 index 0000000000..3d141e1146 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264Tests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVCTests.gen.cs new file mode 100644 index 0000000000..b425cbf92d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_HEVC), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAMTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAMTests.gen.cs new file mode 100644 index 0000000000..60f617a2ee --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAMTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAMTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_COMPRESSED_BITSTREAM), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_DESCTests.gen.cs new file mode 100644 index 0000000000..75e77991f0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_DESC), Is.EqualTo(64)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_DESC), Is.EqualTo(36)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..5305f6a00b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTSTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS), Is.EqualTo(160)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_INPUT_ARGUMENTS), Is.EqualTo(104)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..77153d4fb1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTSTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_ENCODEFRAME_OUTPUT_ARGUMENTS), Is.EqualTo(40)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFERTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFERTests.gen.cs new file mode 100644 index 0000000000..90076749f8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFERTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFERTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATATests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATATests.gen.cs new file mode 100644 index 0000000000..15b2c40b61 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATATests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_FRAME_SUBREGION_METADATA), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_DESCTests.gen.cs new file mode 100644 index 0000000000..b588365f26 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_HEAP_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_HEAP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_HEAP_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_HEAP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_HEAP_DESC), Is.EqualTo(64)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_HEAP_DESC), Is.EqualTo(36)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESHTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESHTests.gen.cs new file mode 100644 index 0000000000..46d6ff7178 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_INTRA_REFRESHTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_INTRA_REFRESHTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_INTRA_REFRESH)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_INTRA_REFRESH).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_INTRA_REFRESH), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_SETTINGTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_SETTINGTests.gen.cs new file mode 100644 index 0000000000..c98c252670 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_SETTINGTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_LEVEL_SETTINGTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_LEVEL_SETTING)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_LEVEL_SETTING).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_LEVEL_SETTING), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_LEVEL_SETTING), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVCTests.gen.cs new file mode 100644 index 0000000000..0c4ca54ca5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_LEVEL_TIER_CONSTRAINTS_HEVC), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATATests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATATests.gen.cs new file mode 100644 index 0000000000..e362f0fd16 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATATests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_OUTPUT_METADATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_OUTPUT_METADATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_OUTPUT_METADATA).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_OUTPUT_METADATA), Is.EqualTo(72)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICSTests.gen.cs new file mode 100644 index 0000000000..d40c9ab85a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_OUTPUT_METADATA_STATISTICS), Is.EqualTo(48)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATATests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATATests.gen.cs new file mode 100644 index 0000000000..e613de05e9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATATests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264Tests.gen.cs new file mode 100644 index 0000000000..d28a80524b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264), + Is.EqualTo(136) + ); + } + else + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264), + Is.EqualTo(88) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATIONTests.gen.cs new file mode 100644 index 0000000000..a52c58e359 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATIONTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION) + ) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_LIST_MODIFICATION_OPERATION), + Is.EqualTo(12) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATIONTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATIONTests.gen.cs new file mode 100644 index 0000000000..c11a29ab07 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATIONTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATIONTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION) + ) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264_REFERENCE_PICTURE_MARKING_OPERATION), + Is.EqualTo(20) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVCTests.gen.cs new file mode 100644 index 0000000000..76f35e3721 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVCTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC), + Is.EqualTo(112) + ); + } + else + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC), + Is.EqualTo(68) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESCTests.gen.cs new file mode 100644 index 0000000000..2b6f86bd8a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_DESC), Is.EqualTo(28)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATATests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATATests.gen.cs new file mode 100644 index 0000000000..95fd40e6bf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATATests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA), + Is.EqualTo(16) + ); + } + else + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA), + Is.EqualTo(8) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICESTests.gen.cs new file mode 100644 index 0000000000..1ebd51a1e3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICESTests.gen.cs @@ -0,0 +1,44 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_SLICES), + Is.EqualTo(4) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESCTests.gen.cs new file mode 100644 index 0000000000..7139ca7aea --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESCTests.gen.cs new file mode 100644 index 0000000000..e4dd8dbc30 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_RATIO_DESC), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_DESCTests.gen.cs new file mode 100644 index 0000000000..51531789e5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_PROFILE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_PROFILE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_PROFILE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_PROFILE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PROFILE_DESC), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_PROFILE_DESC), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROLTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROLTests.gen.cs new file mode 100644 index 0000000000..2a1ed523a5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROLTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RATE_CONTROLTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_RATE_CONTROL).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CBRTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CBRTests.gen.cs new file mode 100644 index 0000000000..582063e19e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CBRTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RATE_CONTROL_CBRTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CBR), Is.EqualTo(48)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMSTests.gen.cs new file mode 100644 index 0000000000..ea61e14829 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMSTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS), + Is.EqualTo(16) + ); + } + else + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CONFIGURATION_PARAMS), + Is.EqualTo(8) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CQPTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CQPTests.gen.cs new file mode 100644 index 0000000000..0bea25bd2e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_CQPTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RATE_CONTROL_CQPTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_CQP), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBRTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBRTests.gen.cs new file mode 100644 index 0000000000..97111f9a3c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBRTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBRTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_QVBR), Is.EqualTo(48)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_VBRTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_VBRTests.gen.cs new file mode 100644 index 0000000000..10c77e19c3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RATE_CONTROL_VBRTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RATE_CONTROL_VBRTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RATE_CONTROL_VBR), Is.EqualTo(56)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURETests.gen.cs new file mode 100644 index 0000000000..99e9c84564 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RECONSTRUCTED_PICTURE), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264Tests.gen.cs new file mode 100644 index 0000000000..6508845ac9 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264Tests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_H264), Is.EqualTo(24)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVCTests.gen.cs new file mode 100644 index 0000000000..2dc6a5f44a --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_REFERENCE_PICTURE_DESCRIPTOR_HEVC), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..1fc1ca8f96 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTSTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS), + Is.EqualTo(56) + ); + } + else + { + Assert.That( + sizeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS), + Is.EqualTo(40) + ); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..e965a006b1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTSTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESCTests.gen.cs new file mode 100644 index 0000000000..bb44bf2395 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC), Is.EqualTo(96)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_CONTROL_DESC), Is.EqualTo(64)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURETests.gen.cs new file mode 100644 index 0000000000..1e3d20a290 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264Tests.gen.cs new file mode 100644 index 0000000000..e4ee25e160 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264Tests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_H264), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVCTests.gen.cs new file mode 100644 index 0000000000..c902976e84 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVCTests.gen.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE_HEVC), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODE_REFERENCE_FRAMESTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODE_REFERENCE_FRAMESTests.gen.cs new file mode 100644 index 0000000000..179f447108 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_ENCODE_REFERENCE_FRAMESTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_ENCODE_REFERENCE_FRAMESTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_ENCODE_REFERENCE_FRAMES)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_ENCODE_REFERENCE_FRAMES).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_ENCODE_REFERENCE_FRAMES), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_ENCODE_REFERENCE_FRAMES), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_DESCTests.gen.cs new file mode 100644 index 0000000000..ff5432fb8d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_DESCTests.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_VIDEO_EXTENSION_COMMAND_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_EXTENSION_COMMAND_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_DESC), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_INFOTests.gen.cs new file mode 100644 index 0000000000..0f292b0537 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_INFOTests.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_VIDEO_EXTENSION_COMMAND_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_EXTENSION_COMMAND_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_INFO), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_INFO), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFOTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFOTests.gen.cs new file mode 100644 index 0000000000..fde92809db --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFOTests.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FORMATTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FORMATTests.gen.cs new file mode 100644 index 0000000000..37c0154ab6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_FORMATTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_FORMATTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_VIDEO_FORMAT))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_FORMAT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_FORMAT), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_DESCTests.gen.cs new file mode 100644 index 0000000000..cd2dfb1611 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_DESCTests.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_VIDEO_MOTION_ESTIMATOR_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_MOTION_ESTIMATOR_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_DESC), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_INPUTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_INPUTTests.gen.cs new file mode 100644 index 0000000000..1ec446df94 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_INPUTTests.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_VIDEO_MOTION_ESTIMATOR_INPUTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_INPUT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_MOTION_ESTIMATOR_INPUT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_INPUT), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_INPUT), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUTTests.gen.cs new file mode 100644 index 0000000000..29a9151150 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUTTests.gen.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_MOTION_ESTIMATOR_OUTPUT), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_VECTOR_HEAP_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_VECTOR_HEAP_DESCTests.gen.cs new file mode 100644 index 0000000000..cc181f8d9e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_MOTION_VECTOR_HEAP_DESCTests.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class D3D12_VIDEO_MOTION_VECTOR_HEAP_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_MOTION_VECTOR_HEAP_DESC), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_BLENDINGTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_BLENDINGTests.gen.cs new file mode 100644 index 0000000000..2a0df12ed7 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_ALPHA_BLENDINGTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_ALPHA_BLENDINGTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_ALPHA_BLENDING)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_ALPHA_BLENDING).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_ALPHA_BLENDING), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_RANGETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_RANGETests.gen.cs new file mode 100644 index 0000000000..24fd861432 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_FILTER_RANGETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_FILTER_RANGETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_FILTER_RANGE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_FILTER_RANGE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_FILTER_RANGE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAMTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAMTests.gen.cs new file mode 100644 index 0000000000..a65aa889fe --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAMTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_INPUT_STREAMTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_INPUT_STREAM).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM), Is.EqualTo(64)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM), Is.EqualTo(32)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1Tests.gen.cs new file mode 100644 index 0000000000..ec7893fe18 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1Tests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1), Is.EqualTo(320)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS1), Is.EqualTo(252)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..95d2c8b479 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS), Is.EqualTo(312)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS), Is.EqualTo(248)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_DESCTests.gen.cs new file mode 100644 index 0000000000..7f614e2fbc --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_INPUT_STREAM_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC), Is.EqualTo(112)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_RATETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_RATETests.gen.cs new file mode 100644 index 0000000000..4a20c46eb1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_INPUT_STREAM_RATETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_INPUT_STREAM_RATETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_LUMA_KEYTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_LUMA_KEYTests.gen.cs new file mode 100644 index 0000000000..04f0e9eef8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_LUMA_KEYTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_LUMA_KEYTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_LUMA_KEY)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_LUMA_KEY).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_LUMA_KEY), Is.EqualTo(12)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAMTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAMTests.gen.cs new file mode 100644 index 0000000000..780a5e30d2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAMTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_OUTPUT_STREAMTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTSTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTSTests.gen.cs new file mode 100644 index 0000000000..0c931733be --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTSTests.gen.cs @@ -0,0 +1,49 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That( + typeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS).IsLayoutSequential, + Is.True + ); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS), Is.EqualTo(32)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESCTests.gen.cs new file mode 100644 index 0000000000..35d7ec75bb --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESCTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC), Is.EqualTo(44)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_REFERENCE_SETTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_REFERENCE_SETTests.gen.cs new file mode 100644 index 0000000000..6091482708 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_REFERENCE_SETTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_REFERENCE_SETTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_REFERENCE_SET)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_REFERENCE_SET).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_REFERENCE_SET), Is.EqualTo(48)); + } + else + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_REFERENCE_SET), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_TRANSFORMTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_TRANSFORMTests.gen.cs new file mode 100644 index 0000000000..e1051c8a4d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_PROCESS_TRANSFORMTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_PROCESS_TRANSFORMTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_PROCESS_TRANSFORM)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_PROCESS_TRANSFORM).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_PROCESS_TRANSFORM), Is.EqualTo(36)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SAMPLETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SAMPLETests.gen.cs new file mode 100644 index 0000000000..977c584aa1 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SAMPLETests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_SAMPLETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D12_VIDEO_SAMPLE))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_SAMPLE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_SAMPLE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORTTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORTTests.gen.cs new file mode 100644 index 0000000000..997594f87d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SCALE_SUPPORTTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_SCALE_SUPPORTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_SCALE_SUPPORT)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_SCALE_SUPPORT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_SCALE_SUPPORT), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SIZE_RANGETests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SIZE_RANGETests.gen.cs new file mode 100644 index 0000000000..da3907cfee --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/D3D12_VIDEO_SIZE_RANGETests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D12_VIDEO_SIZE_RANGETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3D12_VIDEO_SIZE_RANGE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D12_VIDEO_SIZE_RANGE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(D3D12_VIDEO_SIZE_RANGE), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList1Tests.gen.cs new file mode 100644 index 0000000000..2795b0e13c --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDecodeCommandList1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoDecodeCommandList1).GUID, + Is.EqualTo(IID_ID3D12VideoDecodeCommandList1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoDecodeCommandList1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecodeCommandList1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList2Tests.gen.cs new file mode 100644 index 0000000000..101a8b1670 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList2Tests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class ID3D12VideoDecodeCommandList2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoDecodeCommandList2).GUID, + Is.EqualTo(IID_ID3D12VideoDecodeCommandList2) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoDecodeCommandList2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecodeCommandList2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList3Tests.gen.cs new file mode 100644 index 0000000000..0a3ae722a8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandList3Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDecodeCommandList3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoDecodeCommandList3).GUID, + Is.EqualTo(IID_ID3D12VideoDecodeCommandList3) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoDecodeCommandList3)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecodeCommandList3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandListTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandListTests.gen.cs new file mode 100644 index 0000000000..0f85100d7d --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecodeCommandListTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDecodeCommandListTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoDecodeCommandList).GUID, + Is.EqualTo(IID_ID3D12VideoDecodeCommandList) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoDecodeCommandList)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecodeCommandList).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecodeCommandList), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder1Tests.gen.cs new file mode 100644 index 0000000000..ee7f24c1fe --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoder1Tests.gen.cs @@ -0,0 +1,54 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class ID3D12VideoDecoder1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDecoder1).GUID, Is.EqualTo(IID_ID3D12VideoDecoder1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12VideoDecoder1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecoder1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecoder1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecoder1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap1Tests.gen.cs new file mode 100644 index 0000000000..ba45acbbdf --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeap1Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDecoderHeap1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDecoderHeap1).GUID, Is.EqualTo(IID_ID3D12VideoDecoderHeap1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoDecoderHeap1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecoderHeap1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecoderHeap1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecoderHeap1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeapTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeapTests.gen.cs new file mode 100644 index 0000000000..62c709251f --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderHeapTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDecoderHeapTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDecoderHeap).GUID, Is.EqualTo(IID_ID3D12VideoDecoderHeap)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoDecoderHeap)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecoderHeap).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecoderHeap), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecoderHeap), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderTests.gen.cs new file mode 100644 index 0000000000..ba84aa1422 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDecoderTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDecoderTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDecoder).GUID, Is.EqualTo(IID_ID3D12VideoDecoder)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12VideoDecoder))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDecoder).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDecoder), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDecoder), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice1Tests.gen.cs new file mode 100644 index 0000000000..a30befc2ae --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice1Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDevice1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDevice1).GUID, Is.EqualTo(IID_ID3D12VideoDevice1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12VideoDevice1))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDevice1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDevice1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDevice1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice2Tests.gen.cs new file mode 100644 index 0000000000..38370a0378 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice2Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDevice2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDevice2).GUID, Is.EqualTo(IID_ID3D12VideoDevice2)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12VideoDevice2))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDevice2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDevice2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDevice2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice3Tests.gen.cs new file mode 100644 index 0000000000..2653bb6eb4 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDevice3Tests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDevice3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDevice3).GUID, Is.EqualTo(IID_ID3D12VideoDevice3)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12VideoDevice3))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDevice3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDevice3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDevice3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDeviceTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDeviceTests.gen.cs new file mode 100644 index 0000000000..a062d80386 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoDeviceTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoDeviceTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoDevice).GUID, Is.EqualTo(IID_ID3D12VideoDevice)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12VideoDevice))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoDevice).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoDevice), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoDevice), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList1Tests.gen.cs new file mode 100644 index 0000000000..410d4ce642 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoEncodeCommandList1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoEncodeCommandList1).GUID, + Is.EqualTo(IID_ID3D12VideoEncodeCommandList1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoEncodeCommandList1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoEncodeCommandList1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList2Tests.gen.cs new file mode 100644 index 0000000000..96eb501697 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList2Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoEncodeCommandList2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoEncodeCommandList2).GUID, + Is.EqualTo(IID_ID3D12VideoEncodeCommandList2) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoEncodeCommandList2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoEncodeCommandList2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList3Tests.gen.cs new file mode 100644 index 0000000000..3cc11655a6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandList3Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoEncodeCommandList3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoEncodeCommandList3).GUID, + Is.EqualTo(IID_ID3D12VideoEncodeCommandList3) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoEncodeCommandList3)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoEncodeCommandList3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandListTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandListTests.gen.cs new file mode 100644 index 0000000000..e2ebff3398 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncodeCommandListTests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class ID3D12VideoEncodeCommandListTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoEncodeCommandList).GUID, + Is.EqualTo(IID_ID3D12VideoEncodeCommandList) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoEncodeCommandList)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoEncodeCommandList).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoEncodeCommandList), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderHeapTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderHeapTests.gen.cs new file mode 100644 index 0000000000..bb54a6daf5 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderHeapTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoEncoderHeapTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoEncoderHeap).GUID, Is.EqualTo(IID_ID3D12VideoEncoderHeap)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoEncoderHeap)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoEncoderHeap).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoEncoderHeap), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoEncoderHeap), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderTests.gen.cs new file mode 100644 index 0000000000..f33dfe78c6 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoEncoderTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoEncoderTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoEncoder).GUID, Is.EqualTo(IID_ID3D12VideoEncoder)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D12VideoEncoder))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoEncoder).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoEncoder), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoEncoder), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoExtensionCommandTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoExtensionCommandTests.gen.cs new file mode 100644 index 0000000000..c55c238a17 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoExtensionCommandTests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class ID3D12VideoExtensionCommandTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoExtensionCommand).GUID, + Is.EqualTo(IID_ID3D12VideoExtensionCommand) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoExtensionCommand)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoExtensionCommand).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoExtensionCommand), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoExtensionCommand), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionEstimatorTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionEstimatorTests.gen.cs new file mode 100644 index 0000000000..0161bd1f77 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionEstimatorTests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class ID3D12VideoMotionEstimatorTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoMotionEstimator).GUID, + Is.EqualTo(IID_ID3D12VideoMotionEstimator) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoMotionEstimator)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoMotionEstimator).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoMotionEstimator), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoMotionEstimator), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionVectorHeapTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionVectorHeapTests.gen.cs new file mode 100644 index 0000000000..4ef1bf0b3b --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoMotionVectorHeapTests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class ID3D12VideoMotionVectorHeapTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoMotionVectorHeap).GUID, + Is.EqualTo(IID_ID3D12VideoMotionVectorHeap) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoMotionVectorHeap)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoMotionVectorHeap).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoMotionVectorHeap), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoMotionVectorHeap), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList1Tests.gen.cs new file mode 100644 index 0000000000..f4c63424ff --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList1Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoProcessCommandList1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoProcessCommandList1).GUID, + Is.EqualTo(IID_ID3D12VideoProcessCommandList1) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoProcessCommandList1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoProcessCommandList1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoProcessCommandList1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoProcessCommandList1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList2Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList2Tests.gen.cs new file mode 100644 index 0000000000..56fbad07bd --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList2Tests.gen.cs @@ -0,0 +1,60 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class ID3D12VideoProcessCommandList2Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoProcessCommandList2).GUID, + Is.EqualTo(IID_ID3D12VideoProcessCommandList2) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoProcessCommandList2)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoProcessCommandList2).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoProcessCommandList2), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoProcessCommandList2), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList3Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList3Tests.gen.cs new file mode 100644 index 0000000000..62ae54b266 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandList3Tests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoProcessCommandList3Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoProcessCommandList3).GUID, + Is.EqualTo(IID_ID3D12VideoProcessCommandList3) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoProcessCommandList3)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoProcessCommandList3).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoProcessCommandList3), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoProcessCommandList3), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandListTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandListTests.gen.cs new file mode 100644 index 0000000000..3176a046be --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessCommandListTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoProcessCommandListTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12VideoProcessCommandList).GUID, + Is.EqualTo(IID_ID3D12VideoProcessCommandList) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoProcessCommandList)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoProcessCommandList).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoProcessCommandList), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoProcessCommandList), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor1Tests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor1Tests.gen.cs new file mode 100644 index 0000000000..410e419c92 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessor1Tests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoProcessor1Tests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoProcessor1).GUID, Is.EqualTo(IID_ID3D12VideoProcessor1)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoProcessor1)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoProcessor1).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoProcessor1), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoProcessor1), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessorTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessorTests.gen.cs new file mode 100644 index 0000000000..aa6da3b9e2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/ID3D12VideoProcessorTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12VideoProcessorTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12VideoProcessor).GUID, Is.EqualTo(IID_ID3D12VideoProcessor)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12VideoProcessor)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12VideoProcessor).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12VideoProcessor), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12VideoProcessor), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3d12video/IIDTests.gen.cs b/tests/Windows/DirectX/headers/d3d12video/IIDTests.gen.cs new file mode 100644 index 0000000000..61faea01f2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3d12video/IIDTests.gen.cs @@ -0,0 +1,363 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3d12video.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecoderHeapTest() + { + Assert.That( + IID_ID3D12VideoDecoderHeap, + Is.EqualTo( + new Guid(0x0946B7C9, 0xEBF6, 0x4047, 0xBB, 0x73, 0x86, 0x83, 0xE2, 0x7D, 0xBB, 0x1F) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDeviceTest() + { + Assert.That( + IID_ID3D12VideoDevice, + Is.EqualTo( + new Guid(0x1F052807, 0x0B46, 0x4ACC, 0x8A, 0x89, 0x36, 0x4F, 0x79, 0x37, 0x18, 0xA4) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecoderTest() + { + Assert.That( + IID_ID3D12VideoDecoder, + Is.EqualTo( + new Guid(0xC59B6BDC, 0x7720, 0x4074, 0xA1, 0x36, 0x17, 0xA1, 0x56, 0x03, 0x74, 0x70) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoProcessorTest() + { + Assert.That( + IID_ID3D12VideoProcessor, + Is.EqualTo( + new Guid(0x304FDB32, 0xBEDE, 0x410A, 0x85, 0x45, 0x94, 0x3A, 0xC6, 0xA4, 0x61, 0x38) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecodeCommandListTest() + { + Assert.That( + IID_ID3D12VideoDecodeCommandList, + Is.EqualTo( + new Guid(0x3B60536E, 0xAD29, 0x4E64, 0xA2, 0x69, 0xF8, 0x53, 0x83, 0x7E, 0x5E, 0x53) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoProcessCommandListTest() + { + Assert.That( + IID_ID3D12VideoProcessCommandList, + Is.EqualTo( + new Guid(0xAEB2543A, 0x167F, 0x4682, 0xAC, 0xC8, 0xD1, 0x59, 0xED, 0x4A, 0x62, 0x09) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecodeCommandList1Test() + { + Assert.That( + IID_ID3D12VideoDecodeCommandList1, + Is.EqualTo( + new Guid(0xD52F011B, 0xB56E, 0x453C, 0xA0, 0x5A, 0xA7, 0xF3, 0x11, 0xC8, 0xF4, 0x72) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoProcessCommandList1Test() + { + Assert.That( + IID_ID3D12VideoProcessCommandList1, + Is.EqualTo( + new Guid(0x542C5C4D, 0x7596, 0x434F, 0x8C, 0x93, 0x4E, 0xFA, 0x67, 0x66, 0xF2, 0x67) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoMotionEstimatorTest() + { + Assert.That( + IID_ID3D12VideoMotionEstimator, + Is.EqualTo( + new Guid(0x33FDAE0E, 0x098B, 0x428F, 0x87, 0xBB, 0x34, 0xB6, 0x95, 0xDE, 0x08, 0xF8) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoMotionVectorHeapTest() + { + Assert.That( + IID_ID3D12VideoMotionVectorHeap, + Is.EqualTo( + new Guid(0x5BE17987, 0x743A, 0x4061, 0x83, 0x4B, 0x23, 0xD2, 0x2D, 0xAE, 0xA5, 0x05) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDevice1Test() + { + Assert.That( + IID_ID3D12VideoDevice1, + Is.EqualTo( + new Guid(0x981611AD, 0xA144, 0x4C83, 0x98, 0x90, 0xF3, 0x0E, 0x26, 0xD6, 0x58, 0xAB) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoEncodeCommandListTest() + { + Assert.That( + IID_ID3D12VideoEncodeCommandList, + Is.EqualTo( + new Guid(0x8455293A, 0x0CBD, 0x4831, 0x9B, 0x39, 0xFB, 0xDB, 0xAB, 0x72, 0x47, 0x23) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecoder1Test() + { + Assert.That( + IID_ID3D12VideoDecoder1, + Is.EqualTo( + new Guid(0x79A2E5FB, 0xCCD2, 0x469A, 0x9F, 0xDE, 0x19, 0x5D, 0x10, 0x95, 0x1F, 0x7E) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecoderHeap1Test() + { + Assert.That( + IID_ID3D12VideoDecoderHeap1, + Is.EqualTo( + new Guid(0xDA1D98C5, 0x539F, 0x41B2, 0xBF, 0x6B, 0x11, 0x98, 0xA0, 0x3B, 0x6D, 0x26) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoProcessor1Test() + { + Assert.That( + IID_ID3D12VideoProcessor1, + Is.EqualTo( + new Guid(0xF3CFE615, 0x553F, 0x425C, 0x86, 0xD8, 0xEE, 0x8C, 0x1B, 0x1F, 0xB0, 0x1C) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoExtensionCommandTest() + { + Assert.That( + IID_ID3D12VideoExtensionCommand, + Is.EqualTo( + new Guid(0x554E41E8, 0xAE8E, 0x4A8C, 0xB7, 0xD2, 0x5B, 0x4F, 0x27, 0x4A, 0x30, 0xE4) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDevice2Test() + { + Assert.That( + IID_ID3D12VideoDevice2, + Is.EqualTo( + new Guid(0xF019AC49, 0xF838, 0x4A95, 0x9B, 0x17, 0x57, 0x94, 0x37, 0xC8, 0xF5, 0x13) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecodeCommandList2Test() + { + Assert.That( + IID_ID3D12VideoDecodeCommandList2, + Is.EqualTo( + new Guid(0x6e120880, 0xc114, 0x4153, 0x80, 0x36, 0xd2, 0x47, 0x05, 0x1e, 0x17, 0x29) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDecodeCommandList3Test() + { + Assert.That( + IID_ID3D12VideoDecodeCommandList3, + Is.EqualTo( + new Guid(0x2aee8c37, 0x9562, 0x42da, 0x8a, 0xbf, 0x61, 0xef, 0xeb, 0x2e, 0x45, 0x13) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoProcessCommandList2Test() + { + Assert.That( + IID_ID3D12VideoProcessCommandList2, + Is.EqualTo( + new Guid(0xdb525ae4, 0x6ad6, 0x473c, 0xba, 0xa7, 0x59, 0xb2, 0xe3, 0x70, 0x82, 0xe4) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoProcessCommandList3Test() + { + Assert.That( + IID_ID3D12VideoProcessCommandList3, + Is.EqualTo( + new Guid(0x1a0a4ca4, 0x9f08, 0x40ce, 0x95, 0x58, 0xb4, 0x11, 0xfd, 0x26, 0x66, 0xff) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoEncodeCommandList1Test() + { + Assert.That( + IID_ID3D12VideoEncodeCommandList1, + Is.EqualTo( + new Guid(0x94971eca, 0x2bdb, 0x4769, 0x88, 0xcf, 0x36, 0x75, 0xea, 0x75, 0x7e, 0xbc) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoEncoderTest() + { + Assert.That( + IID_ID3D12VideoEncoder, + Is.EqualTo( + new Guid(0x2E0D212D, 0x8DF9, 0x44A6, 0xA7, 0x70, 0xBB, 0x28, 0x9B, 0x18, 0x27, 0x37) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoEncoderHeapTest() + { + Assert.That( + IID_ID3D12VideoEncoderHeap, + Is.EqualTo( + new Guid(0x22B35D96, 0x876A, 0x44C0, 0xB2, 0x5E, 0xFB, 0x8C, 0x9C, 0x7F, 0x1C, 0x4A) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoDevice3Test() + { + Assert.That( + IID_ID3D12VideoDevice3, + Is.EqualTo( + new Guid(0x4243ADB4, 0x3A32, 0x4666, 0x97, 0x3C, 0x0C, 0xCC, 0x56, 0x25, 0xDC, 0x44) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoEncodeCommandList2Test() + { + Assert.That( + IID_ID3D12VideoEncodeCommandList2, + Is.EqualTo( + new Guid(0x895491e2, 0xe701, 0x46a9, 0x9a, 0x1f, 0x8d, 0x34, 0x80, 0xed, 0x86, 0x7a) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12VideoEncodeCommandList3Test() + { + Assert.That( + IID_ID3D12VideoEncodeCommandList3, + Is.EqualTo( + new Guid(0x7f027b22, 0x1515, 0x4e85, 0xaa, 0x0d, 0x02, 0x64, 0x86, 0x58, 0x05, 0x76) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3dcommon/D3DTests.gen.cs b/tests/Windows/DirectX/headers/d3dcommon/D3DTests.gen.cs new file mode 100644 index 0000000000..9ff53dc1d2 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dcommon/D3DTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.D3D; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static partial class D3DTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void D3D_TEXTURE_LAYOUT_ROW_MAJORTest() + { + Assert.That( + D3D_TEXTURE_LAYOUT_ROW_MAJOR, + Is.EqualTo( + new Guid(0xb5dc234f, 0x72bb, 0x4bec, 0x97, 0x05, 0x8c, 0xf2, 0x58, 0xdf, 0x6b, 0x6c) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLETest() + { + Assert.That( + D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE, + Is.EqualTo( + new Guid(0x4c0f29e3, 0x3f5f, 0x4d35, 0x84, 0xc9, 0xbc, 0x09, 0x83, 0xb6, 0x2c, 0x28) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3dcommon/D3D_SHADER_MACROTests.gen.cs b/tests/Windows/DirectX/headers/d3dcommon/D3D_SHADER_MACROTests.gen.cs new file mode 100644 index 0000000000..bd149461a3 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dcommon/D3D_SHADER_MACROTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3D_SHADER_MACROTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(D3D_SHADER_MACRO))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3D_SHADER_MACRO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3D_SHADER_MACRO), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(D3D_SHADER_MACRO), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3dcommon/DirectXTests.gen.cs b/tests/Windows/DirectX/headers/d3dcommon/DirectXTests.gen.cs new file mode 100644 index 0000000000..64b84bf8a0 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dcommon/DirectXTests.gen.cs @@ -0,0 +1,64 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.DirectX; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static partial class DirectXTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void WKPDID_D3DDebugObjectNameTest() + { + Assert.That( + WKPDID_D3DDebugObjectName, + Is.EqualTo( + new Guid(0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void WKPDID_D3DDebugObjectNameWTest() + { + Assert.That( + WKPDID_D3DDebugObjectNameW, + Is.EqualTo( + new Guid(0x4cca5fd8, 0x921f, 0x42c8, 0x85, 0x66, 0x70, 0xca, 0xf2, 0xa9, 0xb7, 0x41) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void WKPDID_CommentStringWTest() + { + Assert.That( + WKPDID_CommentStringW, + Is.EqualTo( + new Guid(0xd0149dc0, 0x90e8, 0x4ec8, 0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void WKPDID_D3D12UniqueObjectIdTest() + { + Assert.That( + WKPDID_D3D12UniqueObjectId, + Is.EqualTo( + new Guid(0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3dcommon/ID3DBlobTests.gen.cs b/tests/Windows/DirectX/headers/d3dcommon/ID3DBlobTests.gen.cs new file mode 100644 index 0000000000..df227b7700 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dcommon/ID3DBlobTests.gen.cs @@ -0,0 +1,52 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3DBlobTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3DBlob).GUID, Is.EqualTo(IID_ID3D10Blob)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3DBlob))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3DBlob).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3DBlob), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3DBlob), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3dcommon/ID3DDestructionNotifierTests.gen.cs b/tests/Windows/DirectX/headers/d3dcommon/ID3DDestructionNotifierTests.gen.cs new file mode 100644 index 0000000000..fcaa639dc8 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dcommon/ID3DDestructionNotifierTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3DDestructionNotifierTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3DDestructionNotifier).GUID, Is.EqualTo(IID_ID3DDestructionNotifier)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3DDestructionNotifier)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3DDestructionNotifier).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3DDestructionNotifier), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3DDestructionNotifier), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3dcommon/ID3DIncludeTests.gen.cs b/tests/Windows/DirectX/headers/d3dcommon/ID3DIncludeTests.gen.cs new file mode 100644 index 0000000000..88304ec6ed --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dcommon/ID3DIncludeTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3DIncludeTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3DInclude))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3DInclude).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3DInclude), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3DInclude), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3dcommon/IIDTests.gen.cs b/tests/Windows/DirectX/headers/d3dcommon/IIDTests.gen.cs new file mode 100644 index 0000000000..7fd06966fe --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dcommon/IIDTests.gen.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dcommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D10BlobTest() + { + Assert.That( + IID_ID3D10Blob, + Is.EqualTo( + new Guid(0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/d3dx12/D3DX12_MESH_SHADER_PIPELINE_STATE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/d3dx12/D3DX12_MESH_SHADER_PIPELINE_STATE_DESCTests.gen.cs new file mode 100644 index 0000000000..92aa52f882 --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dx12/D3DX12_MESH_SHADER_PIPELINE_STATE_DESCTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dx12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class D3DX12_MESH_SHADER_PIPELINE_STATE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(D3DX12_MESH_SHADER_PIPELINE_STATE_DESC)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(D3DX12_MESH_SHADER_PIPELINE_STATE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(D3DX12_MESH_SHADER_PIPELINE_STATE_DESC), Is.EqualTo(568)); + } + else + { + Assert.That(sizeof(D3DX12_MESH_SHADER_PIPELINE_STATE_DESC), Is.EqualTo(524)); + } + } +} diff --git a/tests/Windows/DirectX/headers/d3dx12/ID3DX12PipelineParserCallbacksTests.gen.cs b/tests/Windows/DirectX/headers/d3dx12/ID3DX12PipelineParserCallbacksTests.gen.cs new file mode 100644 index 0000000000..c0bbc32e3e --- /dev/null +++ b/tests/Windows/DirectX/headers/d3dx12/ID3DX12PipelineParserCallbacksTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from d3dx12.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3DX12PipelineParserCallbacksTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3DX12PipelineParserCallbacks)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3DX12PipelineParserCallbacks).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3DX12PipelineParserCallbacks), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3DX12PipelineParserCallbacks), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetNodeSegmentGroupTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetNodeSegmentGroupTests.gen.cs new file mode 100644 index 0000000000..0df38e901a --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetNodeSegmentGroupTests.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class DXCoreAdapterMemoryBudgetNodeSegmentGroupTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(DXCoreAdapterMemoryBudgetNodeSegmentGroup)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DXCoreAdapterMemoryBudgetNodeSegmentGroup).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(DXCoreAdapterMemoryBudgetNodeSegmentGroup), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetTests.gen.cs new file mode 100644 index 0000000000..af547f6d2e --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreAdapterMemoryBudgetTests.gen.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class DXCoreAdapterMemoryBudgetTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(DXCoreAdapterMemoryBudget)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DXCoreAdapterMemoryBudget).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(DXCoreAdapterMemoryBudget), Is.EqualTo(32)); + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDPartsTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDPartsTests.gen.cs new file mode 100644 index 0000000000..cdd52ee8a9 --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDPartsTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class DXCoreHardwareIDPartsTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(DXCoreHardwareIDParts)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DXCoreHardwareIDParts).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(DXCoreHardwareIDParts), Is.EqualTo(20)); + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDTests.gen.cs new file mode 100644 index 0000000000..282dc7e459 --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/DXCoreHardwareIDTests.gen.cs @@ -0,0 +1,37 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class DXCoreHardwareIDTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(DXCoreHardwareID))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DXCoreHardwareID).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(DXCoreHardwareID), Is.EqualTo(16)); + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/DirectXTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/DirectXTests.gen.cs new file mode 100644 index 0000000000..482b11cdcd --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/DirectXTests.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.DirectX.DirectX; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the class. +public static partial class DirectXTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void DXCORE_ADAPTER_ATTRIBUTE_D3D11_GRAPHICSTest() + { + Assert.That( + DXCORE_ADAPTER_ATTRIBUTE_D3D11_GRAPHICS, + Is.EqualTo( + new Guid(0x8c47866b, 0x7583, 0x450d, 0xf0, 0xf0, 0x6b, 0xad, 0xa8, 0x95, 0xaf, 0x4b) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void DXCORE_ADAPTER_ATTRIBUTE_D3D12_GRAPHICSTest() + { + Assert.That( + DXCORE_ADAPTER_ATTRIBUTE_D3D12_GRAPHICS, + Is.EqualTo( + new Guid(0x0c9ece4d, 0x2f6e, 0x4f01, 0x8c, 0x96, 0xe8, 0x9e, 0x33, 0x1b, 0x47, 0xb1) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void DXCORE_ADAPTER_ATTRIBUTE_D3D12_CORE_COMPUTETest() + { + Assert.That( + DXCORE_ADAPTER_ATTRIBUTE_D3D12_CORE_COMPUTE, + Is.EqualTo( + new Guid(0x248e2800, 0xa793, 0x4724, 0xab, 0xaa, 0x23, 0xa6, 0xde, 0x1b, 0xe0, 0x90) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterFactoryTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterFactoryTests.gen.cs new file mode 100644 index 0000000000..215d01f401 --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterFactoryTests.gen.cs @@ -0,0 +1,57 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class IDXCoreAdapterFactoryTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(IDXCoreAdapterFactory).GUID, Is.EqualTo(IID_IDXCoreAdapterFactory)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(IDXCoreAdapterFactory)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(IDXCoreAdapterFactory).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(IDXCoreAdapterFactory), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(IDXCoreAdapterFactory), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterListTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterListTests.gen.cs new file mode 100644 index 0000000000..1e762ca0d6 --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterListTests.gen.cs @@ -0,0 +1,54 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class IDXCoreAdapterListTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(IDXCoreAdapterList).GUID, Is.EqualTo(IID_IDXCoreAdapterList)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(IDXCoreAdapterList))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(IDXCoreAdapterList).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(IDXCoreAdapterList), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(IDXCoreAdapterList), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterTests.gen.cs new file mode 100644 index 0000000000..2bafc2a8ea --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/IDXCoreAdapterTests.gen.cs @@ -0,0 +1,54 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using System.Runtime.Versioning; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +[SupportedOSPlatform("windows10.0.19041.0")] +public static unsafe partial class IDXCoreAdapterTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(IDXCoreAdapter).GUID, Is.EqualTo(IID_IDXCoreAdapter)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(IDXCoreAdapter))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(IDXCoreAdapter).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(IDXCoreAdapter), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(IDXCoreAdapter), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/headers/dxcore_interface/IIDTests.gen.cs b/tests/Windows/DirectX/headers/dxcore_interface/IIDTests.gen.cs new file mode 100644 index 0000000000..e9b7bec7fb --- /dev/null +++ b/tests/Windows/DirectX/headers/dxcore_interface/IIDTests.gen.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxcore_interface.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_IDXCoreAdapterFactoryTest() + { + Assert.That( + IID_IDXCoreAdapterFactory, + Is.EqualTo( + new Guid(0x78ee5945, 0xc36e, 0x4b13, 0xa6, 0x69, 0x00, 0x5d, 0xd1, 0x1c, 0x0f, 0x06) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_IDXCoreAdapterListTest() + { + Assert.That( + IID_IDXCoreAdapterList, + Is.EqualTo( + new Guid(0x526c7776, 0x40e9, 0x459b, 0xb7, 0x11, 0xf3, 0x2a, 0xd7, 0x6d, 0xfc, 0x28) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_IDXCoreAdapterTest() + { + Assert.That( + IID_IDXCoreAdapter, + Is.EqualTo( + new Guid(0xf0db4c7f, 0xfe5a, 0x42a2, 0xbd, 0x62, 0xf2, 0xa6, 0xcf, 0x6f, 0xc8, 0x3e) + ) + ); + } +} diff --git a/tests/Windows/DirectX/headers/dxgicommon/DXGI_RATIONALTests.gen.cs b/tests/Windows/DirectX/headers/dxgicommon/DXGI_RATIONALTests.gen.cs new file mode 100644 index 0000000000..e4ddf2cbcd --- /dev/null +++ b/tests/Windows/DirectX/headers/dxgicommon/DXGI_RATIONALTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgicommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class DXGI_RATIONALTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(DXGI_RATIONAL))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DXGI_RATIONAL).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(DXGI_RATIONAL), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/headers/dxgicommon/DXGI_SAMPLE_DESCTests.gen.cs b/tests/Windows/DirectX/headers/dxgicommon/DXGI_SAMPLE_DESCTests.gen.cs new file mode 100644 index 0000000000..3c6c8c437d --- /dev/null +++ b/tests/Windows/DirectX/headers/dxgicommon/DXGI_SAMPLE_DESCTests.gen.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from dxgicommon.h in microsoft/DirectX-Headers tag v1.606.4 +// Original source is Copyright © Microsoft. Licensed under the MIT license +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class DXGI_SAMPLE_DESCTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(DXGI_SAMPLE_DESC))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(DXGI_SAMPLE_DESC).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(DXGI_SAMPLE_DESC), Is.EqualTo(8)); + } +} diff --git a/tests/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7DeviceTests.gen.cs b/tests/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7DeviceTests.gen.cs new file mode 100644 index 0000000000..bcde646f8b --- /dev/null +++ b/tests/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7DeviceTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D11On12On7.h in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D11On12On7DeviceTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D11On12On7Device))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D11On12On7Device).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D11On12On7Device), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D11On12On7Device), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7Tests.gen.cs b/tests/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7Tests.gen.cs new file mode 100644 index 0000000000..b0aebdebad --- /dev/null +++ b/tests/Windows/DirectX/other/D3D11On12On7/ID3D11On12On7Tests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D11On12On7.h in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D11On12On7Tests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(ID3D11On12On7))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D11On12On7).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D11On12On7), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D11On12On7), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/other/D3D12Downlevel/ID3D12CommandQueueDownlevelTests.gen.cs b/tests/Windows/DirectX/other/D3D12Downlevel/ID3D12CommandQueueDownlevelTests.gen.cs new file mode 100644 index 0000000000..ae1ac56083 --- /dev/null +++ b/tests/Windows/DirectX/other/D3D12Downlevel/ID3D12CommandQueueDownlevelTests.gen.cs @@ -0,0 +1,58 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D12Downlevel in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12CommandQueueDownlevelTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That( + typeof(ID3D12CommandQueueDownlevel).GUID, + Is.EqualTo(IID_ID3D12CommandQueueDownlevel) + ); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12CommandQueueDownlevel)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12CommandQueueDownlevel).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12CommandQueueDownlevel), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12CommandQueueDownlevel), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/other/D3D12Downlevel/ID3D12DeviceDownlevelTests.gen.cs b/tests/Windows/DirectX/other/D3D12Downlevel/ID3D12DeviceDownlevelTests.gen.cs new file mode 100644 index 0000000000..c7aa3b7fdd --- /dev/null +++ b/tests/Windows/DirectX/other/D3D12Downlevel/ID3D12DeviceDownlevelTests.gen.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D12Downlevel in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.DirectX.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class ID3D12DeviceDownlevelTests +{ + /// Validates that the of the struct is correct. + + [Test] + public static void GuidOfTest() + { + Assert.That(typeof(ID3D12DeviceDownlevel).GUID, Is.EqualTo(IID_ID3D12DeviceDownlevel)); + } + + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(ID3D12DeviceDownlevel)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(ID3D12DeviceDownlevel).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(ID3D12DeviceDownlevel), Is.EqualTo(8)); + } + else + { + Assert.That(sizeof(ID3D12DeviceDownlevel), Is.EqualTo(4)); + } + } +} diff --git a/tests/Windows/DirectX/other/D3D12Downlevel/IIDTests.gen.cs b/tests/Windows/DirectX/other/D3D12Downlevel/IIDTests.gen.cs new file mode 100644 index 0000000000..5be87bf265 --- /dev/null +++ b/tests/Windows/DirectX/other/D3D12Downlevel/IIDTests.gen.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from D3D12Downlevel in the https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7 nuget package, version 1.1.0 +// Original source is Copyright © Microsoft. All rights reserved. License details can be found here: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12On7/1.1.0/License +using NUnit.Framework; +using System; +using static Silk.NET.Windows.IID; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the class. +public static partial class IIDTests +{ + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12CommandQueueDownlevelTest() + { + Assert.That( + IID_ID3D12CommandQueueDownlevel, + Is.EqualTo( + new Guid(0x38a8c5ef, 0x7ccb, 0x4e81, 0x91, 0x4f, 0xa6, 0xe9, 0xd0, 0x72, 0xc4, 0x94) + ) + ); + } + + /// Validates that the value of the property is correct. + + [Test] + public static void IID_ID3D12DeviceDownlevelTest() + { + Assert.That( + IID_ID3D12DeviceDownlevel, + Is.EqualTo( + new Guid(0x74eaee3f, 0x2f4b, 0x476d, 0x82, 0xba, 0x2b, 0x85, 0xcb, 0x49, 0xe3, 0x10) + ) + ); + } +} diff --git a/tests/Windows/Windows/other/mssign32/APPX_SIP_CLIENT_DATATests.gen.cs b/tests/Windows/Windows/other/mssign32/APPX_SIP_CLIENT_DATATests.gen.cs new file mode 100644 index 0000000000..07a63f8407 --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/APPX_SIP_CLIENT_DATATests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class APPX_SIP_CLIENT_DATATests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(APPX_SIP_CLIENT_DATA)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(APPX_SIP_CLIENT_DATA).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(APPX_SIP_CLIENT_DATA), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(APPX_SIP_CLIENT_DATA), Is.EqualTo(8)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_ATTR_AUTHCODETests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_ATTR_AUTHCODETests.gen.cs new file mode 100644 index 0000000000..23ef840703 --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_ATTR_AUTHCODETests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_ATTR_AUTHCODETests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(SIGNER_ATTR_AUTHCODE)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_ATTR_AUTHCODE).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_ATTR_AUTHCODE), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(SIGNER_ATTR_AUTHCODE), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_BLOB_INFOTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_BLOB_INFOTests.gen.cs new file mode 100644 index 0000000000..5dbb81a592 --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_BLOB_INFOTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_BLOB_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(SIGNER_BLOB_INFO))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_BLOB_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_BLOB_INFO), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(SIGNER_BLOB_INFO), Is.EqualTo(20)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_CERTTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_CERTTests.gen.cs new file mode 100644 index 0000000000..e096de1b90 --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_CERTTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_CERTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(SIGNER_CERT))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_CERT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_CERT), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(SIGNER_CERT), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_CERT_STORE_INFOTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_CERT_STORE_INFOTests.gen.cs new file mode 100644 index 0000000000..67e08909a2 --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_CERT_STORE_INFOTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_CERT_STORE_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(SIGNER_CERT_STORE_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_CERT_STORE_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_CERT_STORE_INFO), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(SIGNER_CERT_STORE_INFO), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_CONTEXTTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_CONTEXTTests.gen.cs new file mode 100644 index 0000000000..16bdf8c94f --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_CONTEXTTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_CONTEXTTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(SIGNER_CONTEXT))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_CONTEXT).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_CONTEXT), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(SIGNER_CONTEXT), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_FILE_INFOTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_FILE_INFOTests.gen.cs new file mode 100644 index 0000000000..78270ec2ab --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_FILE_INFOTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_FILE_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(SIGNER_FILE_INFO))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_FILE_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_FILE_INFO), Is.EqualTo(24)); + } + else + { + Assert.That(sizeof(SIGNER_FILE_INFO), Is.EqualTo(12)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_PROVIDER_INFOTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_PROVIDER_INFOTests.gen.cs new file mode 100644 index 0000000000..28f746350d --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_PROVIDER_INFOTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_PROVIDER_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(SIGNER_PROVIDER_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_PROVIDER_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_PROVIDER_INFO), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(SIGNER_PROVIDER_INFO), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_SIGNATURE_INFOTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_SIGNATURE_INFOTests.gen.cs new file mode 100644 index 0000000000..205b182943 --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_SIGNATURE_INFOTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_SIGNATURE_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(SIGNER_SIGNATURE_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_SIGNATURE_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_SIGNATURE_INFO), Is.EqualTo(40)); + } + else + { + Assert.That(sizeof(SIGNER_SIGNATURE_INFO), Is.EqualTo(24)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_SIGN_EX2_PARAMSTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_SIGN_EX2_PARAMSTests.gen.cs new file mode 100644 index 0000000000..3a70b5b35e --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_SIGN_EX2_PARAMSTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_SIGN_EX2_PARAMSTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(SIGNER_SIGN_EX2_PARAMS)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_SIGN_EX2_PARAMS).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_SIGN_EX2_PARAMS), Is.EqualTo(104)); + } + else + { + Assert.That(sizeof(SIGNER_SIGN_EX2_PARAMS), Is.EqualTo(52)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_SPC_CHAIN_INFOTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_SPC_CHAIN_INFOTests.gen.cs new file mode 100644 index 0000000000..3c00ec16ae --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_SPC_CHAIN_INFOTests.gen.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_SPC_CHAIN_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That( + Marshal.SizeOf(), + Is.EqualTo(sizeof(SIGNER_SPC_CHAIN_INFO)) + ); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_SPC_CHAIN_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_SPC_CHAIN_INFO), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(SIGNER_SPC_CHAIN_INFO), Is.EqualTo(16)); + } + } +} diff --git a/tests/Windows/Windows/other/mssign32/SIGNER_SUBJECT_INFOTests.gen.cs b/tests/Windows/Windows/other/mssign32/SIGNER_SUBJECT_INFOTests.gen.cs new file mode 100644 index 0000000000..c2504c47ad --- /dev/null +++ b/tests/Windows/Windows/other/mssign32/SIGNER_SUBJECT_INFOTests.gen.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. +// Ported from https://docs.microsoft.com/en-us/windows/win32/appxpkg/how-to-programmatically-sign-a-package +// Original source is Copyright © Microsoft. All rights reserved. Licensed under the MIT License (MIT). +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace Silk.NET.Windows.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class SIGNER_SUBJECT_INFOTests +{ + /// Validates that the struct is blittable. + + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(SIGNER_SUBJECT_INFO))); + } + + /// Validates that the struct has the right . + + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(SIGNER_SUBJECT_INFO).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(SIGNER_SUBJECT_INFO), Is.EqualTo(32)); + } + else + { + Assert.That(sizeof(SIGNER_SUBJECT_INFO), Is.EqualTo(16)); + } + } +}