From 5450810063e1aa6940cfc878a6eb026de7e1a051 Mon Sep 17 00:00:00 2001 From: Amer Koleci Date: Wed, 7 Sep 2022 14:47:18 +0200 Subject: [PATCH] Generator: More improvements and handle better remap and FLAG -> FLAGS. --- src/Generator/Program.cs | 53 ++- .../Generated/Graphics/Direct3D11.cs | 445 +----------------- src/Vortice.Win32/Generated/Graphics/Dxgi.cs | 12 +- .../Graphics/Direct3D11.Manual.cs | 2 +- src/samples/01-ClearScreen/Program.cs | 6 +- 5 files changed, 59 insertions(+), 459 deletions(-) diff --git a/src/Generator/Program.cs b/src/Generator/Program.cs index c7dd833..596fb0d 100644 --- a/src/Generator/Program.cs +++ b/src/Generator/Program.cs @@ -1,6 +1,7 @@ // Copyright © Amer Koleci and Contributors. // Licensed under the MIT License (MIT). See LICENSE in the repository root for more information. +using System.ComponentModel.DataAnnotations; using System.Globalization; using System.Linq; using System.Text; @@ -220,25 +221,10 @@ public static class Program private static readonly Dictionary s_typesNameRemap = new() { - { "DXGI_ADAPTER_FLAG", "AdapterFlags" }, - { "DXGI_ADAPTER_FLAG3", "AdapterFlags3" }, - { "DXGI_SWAP_CHAIN_FLAG", "SwapChainFlags" }, - // Generated { "DXGI_MAP", "MapFlags" }, { "DXGI_ENUM_MODES", "EnumModesFlags" }, { "DXGI_MWA", "WindowAssociationFlags" }, - - // D3D11 - { "D3D11_BIND_FLAG", "BindFlags" }, - { "D3D11_CPU_ACCESS_FLAG", "CpuAccessFlags" }, - { "D3D11_RESOURCE_MISC_FLAG", "ResourceMiscFlags" }, - { "D3D11_MAP_FLAG", "MapFlags" }, - { "D3D11_FORMAT_SUPPORT", "FormatSupport" }, - { "D3D11_FORMAT_SUPPORT2", "FormatSupport2" }, - { "D3D11_DSV_FLAG", "DsvFlags" }, - { "D3D11_COLOR_WRITE_ENABLE", "ColorWriteEnable" }, - { "D3D12_COLOR_WRITE_ENABLE", "ColorWriteEnable" }, }; private static readonly Dictionary s_structFieldTypeRemap = new() @@ -406,6 +392,11 @@ public static class Program writer.WriteLine($"#region Enums"); foreach (ApiType enumType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "enum")) { + if (enumType.Name.StartsWith("D3DX11")) + { + continue; + } + GenerateEnum(writer, enumType, false); s_visitedEnums.Add($"{writer.Api}.{enumType.Name}"); @@ -471,6 +462,11 @@ public static class Program writer.WriteLine($"#region Unions"); foreach (ApiType structType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "union")) { + if (structType.Name.StartsWith("D3DX11")) + { + continue; + } + if (s_csNameMappings.ContainsKey($"{writer.Api}.{structType.Name}")) { continue; @@ -487,6 +483,11 @@ public static class Program writer.WriteLine($"#region Structs"); foreach (ApiType structType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "struct")) { + if (structType.Name.StartsWith("D3DX11")) + { + continue; + } + if (s_csNameMappings.ContainsKey($"{writer.Api}.{structType.Name}")) { continue; @@ -503,11 +504,10 @@ public static class Program writer.WriteLine($"#region COM Types"); foreach (ApiType comType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "com")) { - //if (comType.Name != "IDXGIObject" && - // comType.Name != "IDXGIDeviceSubObject") - //{ - // break; - //} + if (comType.Name.StartsWith("ID3DX11")) + { + continue; + } // Generate methods List> methodsToGenerate = new(); @@ -546,7 +546,9 @@ public static class Program { if (function.Name.StartsWith("D3DX11") || function.Name == "D3DDisassemble11Trace") + { continue; + } WriteFunction(writer, api, function); writer.WriteLine(); @@ -677,6 +679,11 @@ public static class Program baseTypeName = "byte"; } + if (enumType.Name == "DXGI_ADAPTER_FLAG") + { + + } + using (writer.PushBlock($"public enum {csTypeName} : {baseTypeName}")) { if (isFlags && @@ -825,7 +832,7 @@ public static class Program string remapFieldLookUp = $"{structType.Name}::{field.Name}"; if (s_structFieldTypeRemap.TryGetValue(remapFieldLookUp, out string? remapType)) { - fieldTypeName = GetTypeName(remapType); + fieldTypeName = GetTypeName($"{writer.Api}.{remapType}"); } if (fieldTypeName == "Array") @@ -1340,6 +1347,10 @@ public static class Program { sb.Append("Description3"); } + else if (part == "FLAG") + { + sb.Append("Flags"); + } else { sb.Append(char.ToUpper(part[0])); diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs b/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs index aa7a3d4..a9af39a 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs +++ b/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs @@ -820,7 +820,7 @@ public enum MapFlags : int /// /// D3D11_RAISE_FLAG [Flags] -public enum RaiseFlag : int +public enum RaiseFlags : int { None = 0, /// @@ -831,7 +831,7 @@ public enum RaiseFlag : int /// /// D3D11_CLEAR_FLAG [Flags] -public enum ClearFlag : int +public enum ClearFlags : int { None = 0, /// @@ -1042,7 +1042,7 @@ public enum TextureCubeFace : int /// /// D3D11_BUFFEREX_SRV_FLAG [Flags] -public enum BufferExtendedSrvFlag : int +public enum BufferExtendedSrvFlags : int { None = 0, /// @@ -1067,7 +1067,7 @@ public enum DsvFlags : int /// /// D3D11_BUFFER_UAV_FLAG [Flags] -public enum BufferUavFlag : int +public enum BufferUavFlags : int { None = 0, /// @@ -1394,7 +1394,7 @@ public enum FormatSupport2 : int /// /// D3D11_ASYNC_GETDATA_FLAG [Flags] -public enum AsyncGetDataFlag : int +public enum AsyncGetDataFlags : int { None = 0, /// @@ -1459,7 +1459,7 @@ public enum Query : int /// /// D3D11_QUERY_MISC_FLAG [Flags] -public enum QueryMiscFlag : int +public enum QueryMiscFlags : int { None = 0, /// @@ -2272,7 +2272,7 @@ public enum VpovDimension : int /// /// D3D11_CREATE_DEVICE_FLAG [Flags] -public enum CreateDeviceFlag : uint +public enum CreateDeviceFlags : uint { None = 0, /// @@ -6508,7 +6508,7 @@ public enum LogicOp : int /// /// D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG [Flags] -public enum _1CreateDeviceContextStateFlag : int +public enum _1CreateDeviceContextStateFlags : int { None = 0, /// @@ -6573,7 +6573,7 @@ public enum CryptoSessionStatus : int /// /// D3D11_TILE_MAPPING_FLAG [Flags] -public enum TileMappingFlag : int +public enum TileMappingFlags : int { None = 0, /// @@ -6584,7 +6584,7 @@ public enum TileMappingFlag : int /// /// D3D11_TILE_RANGE_FLAG [Flags] -public enum TileRangeFlag : int +public enum TileRangeFlags : int { None = 0, /// @@ -6601,7 +6601,7 @@ public enum TileRangeFlag : int /// /// D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG [Flags] -public enum CheckMultisampleQualityLevelsFlag : int +public enum CheckMultisampleQualityLevelsFlags : int { None = 0, /// @@ -6612,7 +6612,7 @@ public enum CheckMultisampleQualityLevelsFlag : int /// /// D3D11_TILE_COPY_FLAG [Flags] -public enum TileCopyFlag : int +public enum TileCopyFlags : int { None = 0, /// @@ -6677,7 +6677,7 @@ public enum ConservativeRasterizationMode : int /// /// D3D11_FENCE_FLAG [Flags] -public enum FenceFlag : uint +public enum FenceFlags : uint { /// /// D3D11_FENCE_FLAG_NONE @@ -6961,98 +6961,6 @@ public enum TraceRegisterType : int D3D11_TRACE_INTERFACE_POINTER = 35, } -/// -/// D3DX11_SCAN_DATA_TYPE -public enum D3dx11ScanDataType : int -{ - /// - /// D3DX11_SCAN_DATA_TYPE_FLOAT - Float = 1, - /// - /// D3DX11_SCAN_DATA_TYPE_INT - Int = 2, - /// - /// D3DX11_SCAN_DATA_TYPE_UINT - Uint = 3, -} - -/// -/// D3DX11_SCAN_OPCODE -public enum D3dx11ScanOpcode : int -{ - /// - /// D3DX11_SCAN_OPCODE_ADD - Add = 1, - /// - /// D3DX11_SCAN_OPCODE_MIN - Min = 2, - /// - /// D3DX11_SCAN_OPCODE_MAX - Max = 3, - /// - /// D3DX11_SCAN_OPCODE_MUL - Mul = 4, - /// - /// D3DX11_SCAN_OPCODE_AND - And = 5, - /// - /// D3DX11_SCAN_OPCODE_OR - Or = 6, - /// - /// D3DX11_SCAN_OPCODE_XOR - Xor = 7, -} - -/// -/// D3DX11_SCAN_DIRECTION -public enum D3dx11ScanDirection : int -{ - /// - /// D3DX11_SCAN_DIRECTION_FORWARD - Forward = 1, - /// - /// D3DX11_SCAN_DIRECTION_BACKWARD - Backward = 2, -} - -/// -/// D3DX11_FFT_DATA_TYPE -public enum D3dx11FftDataType : int -{ - /// - /// D3DX11_FFT_DATA_TYPE_REAL - Real = 0, - /// - /// D3DX11_FFT_DATA_TYPE_COMPLEX - Complex = 1, -} - -/// -/// D3DX11_FFT_DIM_MASK -public enum D3dx11FftDimMask : int -{ - /// - /// D3DX11_FFT_DIM_MASK_1D - _1d = 1, - /// - /// D3DX11_FFT_DIM_MASK_2D - _2d = 3, - /// - /// D3DX11_FFT_DIM_MASK_3D - _3d = 7, -} - -/// -/// D3DX11_FFT_CREATE_FLAG -[Flags] -public enum D3dx11FftCreateFlag : int -{ - None = 0, - /// - /// D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS - NoPrecomputeBuffers = 1, -} - #endregion Enums #region Generated Enums @@ -12049,40 +11957,6 @@ public partial struct TraceStep public ulong CurrentGlobalCycle; } -/// -/// D3DX11_FFT_DESC -public partial struct D3dx11FftDescription -{ - /// - public uint NumDimensions; - - /// - public unsafe fixed uint ElementLengths[32]; - - /// - public uint DimensionMask; - - /// - public D3dx11FftDataType Type; -} - -/// -/// D3DX11_FFT_BUFFER_INFO -public partial struct D3dx11FftBufferInfo -{ - /// - public uint NumTempBufferSizes; - - /// - public unsafe fixed uint TempBufferFloatSizes[4]; - - /// - public uint NumPrecomputeBufferSizes; - - /// - public unsafe fixed uint PrecomputeBufferFloatSizes[4]; -} - #endregion Structs #region COM Types @@ -28864,9 +28738,9 @@ public unsafe partial struct ID3D11Device5 /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(68)] - public HResult CreateFence(ulong InitialValue, FenceFlag Flags, Guid* ReturnedInterface, void** ppFence) + public HResult CreateFence(ulong InitialValue, FenceFlags Flags, Guid* ReturnedInterface, void** ppFence) { - return ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID3D11Device5*)Unsafe.AsPointer(ref this), InitialValue, Flags, ReturnedInterface, ppFence); + return ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID3D11Device5*)Unsafe.AsPointer(ref this), InitialValue, Flags, ReturnedInterface, ppFence); } } @@ -32001,300 +31875,15 @@ public unsafe partial struct ID3D11ShaderTraceFactory } -/// -/// ID3DX11Scan -[Guid("5089b68f-e71d-4d38-be8e-f363b95a9405")] -[NativeTypeName("struct ID3DX11Scan : IUnknown")] -[NativeInheritance("IUnknown")] -public unsafe partial struct ID3DX11Scan -{ - public static ref readonly Guid IID_ID3DX11Scan - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get - { - ReadOnlySpan data = new byte[] { - 0x8F, 0xB6, 0x89, 0x50, - 0x1D, 0xE7, - 0x38, 0x4D, - 0xBE, - 0x8E, - 0xF3, - 0x63, - 0xB9, - 0x5A, - 0x94, - 0x05 - }; - - Debug.Assert(data.Length == Unsafe.SizeOf()); - return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); - } - } - - public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DX11Scan)); - - public void** lpVtbl; - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(0)] - public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(1)] - [return: NativeTypeName("ULONG")] - public uint AddRef() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(2)] - [return: NativeTypeName("ULONG")] - public uint Release() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(3)] - public HResult SetScanDirection(D3dx11ScanDirection Direction) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID3DX11Scan*)Unsafe.AsPointer(ref this), Direction); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(4)] - public HResult Scan(D3dx11ScanDataType ElementType, D3dx11ScanOpcode OpCode, uint ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pDst) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID3DX11Scan*)Unsafe.AsPointer(ref this), ElementType, OpCode, ElementScanSize, pSrc, pDst); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(5)] - public HResult Multiscan(D3dx11ScanDataType ElementType, D3dx11ScanOpcode OpCode, uint ElementScanSize, uint ElementScanPitch, uint ScanCount, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pDst) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID3DX11Scan*)Unsafe.AsPointer(ref this), ElementType, OpCode, ElementScanSize, ElementScanPitch, ScanCount, pSrc, pDst); - } - -} - -/// -/// ID3DX11SegmentedScan -[Guid("a915128c-d954-4c79-bfe1-64db923194d6")] -[NativeTypeName("struct ID3DX11SegmentedScan : IUnknown")] -[NativeInheritance("IUnknown")] -public unsafe partial struct ID3DX11SegmentedScan -{ - public static ref readonly Guid IID_ID3DX11SegmentedScan - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get - { - ReadOnlySpan data = new byte[] { - 0x8C, 0x12, 0x15, 0xA9, - 0x54, 0xD9, - 0x79, 0x4C, - 0xBF, - 0xE1, - 0x64, - 0xDB, - 0x92, - 0x31, - 0x94, - 0xD6 - }; - - Debug.Assert(data.Length == Unsafe.SizeOf()); - return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); - } - } - - public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DX11SegmentedScan)); - - public void** lpVtbl; - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(0)] - public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(1)] - [return: NativeTypeName("ULONG")] - public uint AddRef() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(2)] - [return: NativeTypeName("ULONG")] - public uint Release() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(3)] - public HResult SetScanDirection(D3dx11ScanDirection Direction) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID3DX11SegmentedScan*)Unsafe.AsPointer(ref this), Direction); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(4)] - public HResult SegScan(D3dx11ScanDataType ElementType, D3dx11ScanOpcode OpCode, uint ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pSrcElementFlags, ID3D11UnorderedAccessView* pDst) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID3DX11SegmentedScan*)Unsafe.AsPointer(ref this), ElementType, OpCode, ElementScanSize, pSrc, pSrcElementFlags, pDst); - } - -} - -/// -/// ID3DX11FFT -[Guid("b3f7a938-4c93-4310-a675-b30d6de50553")] -[NativeTypeName("struct ID3DX11FFT : IUnknown")] -[NativeInheritance("IUnknown")] -public unsafe partial struct ID3DX11FFT -{ - public static ref readonly Guid IID_ID3DX11FFT - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - get - { - ReadOnlySpan data = new byte[] { - 0x38, 0xA9, 0xF7, 0xB3, - 0x93, 0x4C, - 0x10, 0x43, - 0xA6, - 0x75, - 0xB3, - 0x0D, - 0x6D, - 0xE5, - 0x05, - 0x53 - }; - - Debug.Assert(data.Length == Unsafe.SizeOf()); - return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); - } - } - - public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DX11FFT)); - - public void** lpVtbl; - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(0)] - public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(1)] - [return: NativeTypeName("ULONG")] - public uint AddRef() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(2)] - [return: NativeTypeName("ULONG")] - public uint Release() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(3)] - public HResult SetForwardScale(float ForwardScale) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), ForwardScale); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(4)] - public float GetForwardScale() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID3DX11FFT*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(5)] - public HResult SetInverseScale(float InverseScale) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), InverseScale); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(6)] - public float GetInverseScale() - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID3DX11FFT*)Unsafe.AsPointer(ref this)); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(7)] - public HResult AttachBuffersAndPrecompute(uint NumTempBuffers, ID3D11UnorderedAccessView* ppTempBuffers, uint NumPrecomputeBuffers, ID3D11UnorderedAccessView* ppPrecomputeBufferSizes) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), NumTempBuffers, ppTempBuffers, NumPrecomputeBuffers, ppPrecomputeBufferSizes); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(8)] - public HResult ForwardTransform(ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView* ppOutputBuffer) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), pInputBuffer, ppOutputBuffer); - } - - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - [VtblIndex(9)] - public HResult InverseTransform(ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView* ppOutputBuffer) - { - return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), pInputBuffer, ppOutputBuffer); - } - -} - #endregion Com Types #region Functions public static unsafe partial class Apis { [DllImport("d3d11", ExactSpelling = true)] - public static extern HResult D3D11CreateDevice(Graphics.Dxgi.IDXGIAdapter* pAdapter, Graphics.Direct3D.DriverType DriverType, IntPtr Software, CreateDeviceFlag Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, uint SDKVersion, ID3D11Device** ppDevice, Graphics.Direct3D.FeatureLevel* pFeatureLevel, ID3D11DeviceContext** ppImmediateContext); + public static extern HResult D3D11CreateDevice(Graphics.Dxgi.IDXGIAdapter* pAdapter, Graphics.Direct3D.DriverType DriverType, IntPtr Software, CreateDeviceFlags Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, uint SDKVersion, ID3D11Device** ppDevice, Graphics.Direct3D.FeatureLevel* pFeatureLevel, ID3D11DeviceContext** ppImmediateContext); [DllImport("d3d11", ExactSpelling = true)] - public static extern HResult D3D11CreateDeviceAndSwapChain(Graphics.Dxgi.IDXGIAdapter* pAdapter, Graphics.Direct3D.DriverType DriverType, IntPtr Software, CreateDeviceFlag Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, uint SDKVersion, Graphics.Dxgi.SwapChainDescription* pSwapChainDesc, Graphics.Dxgi.IDXGISwapChain** ppSwapChain, ID3D11Device** ppDevice, Graphics.Direct3D.FeatureLevel* pFeatureLevel, ID3D11DeviceContext** ppImmediateContext); + public static extern HResult D3D11CreateDeviceAndSwapChain(Graphics.Dxgi.IDXGIAdapter* pAdapter, Graphics.Direct3D.DriverType DriverType, IntPtr Software, CreateDeviceFlags Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, uint SDKVersion, Graphics.Dxgi.SwapChainDescription* pSwapChainDesc, Graphics.Dxgi.IDXGISwapChain** ppSwapChain, ID3D11Device** ppDevice, Graphics.Direct3D.FeatureLevel* pFeatureLevel, ID3D11DeviceContext** ppImmediateContext); } #endregion Functions diff --git a/src/Vortice.Win32/Generated/Graphics/Dxgi.cs b/src/Vortice.Win32/Generated/Graphics/Dxgi.cs index f1e20e6..2d15426 100644 --- a/src/Vortice.Win32/Generated/Graphics/Dxgi.cs +++ b/src/Vortice.Win32/Generated/Graphics/Dxgi.cs @@ -308,7 +308,7 @@ public enum FramePresentationMode : int /// /// DXGI_OVERLAY_SUPPORT_FLAG [Flags] -public enum OverlaySupportFlag : int +public enum OverlaySupportFlags : int { None = 0, /// @@ -322,7 +322,7 @@ public enum OverlaySupportFlag : int /// /// DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG [Flags] -public enum SwapChainColorSpaceSupportFlag : int +public enum SwapChainColorSpaceSupportFlags : int { None = 0, /// @@ -336,7 +336,7 @@ public enum SwapChainColorSpaceSupportFlag : int /// /// DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG [Flags] -public enum OverlayColorSpaceSupportFlag : int +public enum OverlayColorSpaceSupportFlags : int { None = 0, /// @@ -359,7 +359,7 @@ public enum MemorySegmentGroup : int /// /// DXGI_OUTDUPL_FLAG [Flags] -public enum OutduplFlag : int +public enum OutduplFlags : int { None = 0, /// @@ -420,7 +420,7 @@ public enum Feature : int /// /// DXGI_ADAPTER_FLAG3 [Flags] -public enum AdapterFlags3 : uint +public enum AdapterFlag3 : uint { /// /// DXGI_ADAPTER_FLAG3_NONE @@ -2221,7 +2221,7 @@ public partial struct AdapterDescription3 public Luid AdapterLuid; /// - public AdapterFlags3 Flags; + public AdapterFlag3 Flags; /// public GraphicsPreemptionGranularity GraphicsPreemptionGranularity; diff --git a/src/Vortice.Win32/Graphics/Direct3D11.Manual.cs b/src/Vortice.Win32/Graphics/Direct3D11.Manual.cs index a637982..92abbbf 100644 --- a/src/Vortice.Win32/Graphics/Direct3D11.Manual.cs +++ b/src/Vortice.Win32/Graphics/Direct3D11.Manual.cs @@ -62,7 +62,7 @@ public static unsafe partial class Apis public static HResult D3D11CreateDevice( IDXGIAdapter* pAdapter, DriverType driverType, - CreateDeviceFlag flags, + CreateDeviceFlags flags, ReadOnlySpan featureLevels, ID3D11Device** ppDevice, FeatureLevel* pFeatureLevel, diff --git a/src/samples/01-ClearScreen/Program.cs b/src/samples/01-ClearScreen/Program.cs index df2dabb..ba28be1 100644 --- a/src/samples/01-ClearScreen/Program.cs +++ b/src/samples/01-ClearScreen/Program.cs @@ -24,7 +24,7 @@ public static unsafe class Program null, DriverType.Null, // There is no need to create a real hardware device. IntPtr.Zero, - CreateDeviceFlag.Debug, // Check for the SDK layers. + CreateDeviceFlags.Debug, // Check for the SDK layers. null, // Any feature level will do. 0, D3D11_SDK_VERSION, @@ -111,12 +111,12 @@ public static unsafe class Program FeatureLevel.Level_11_0 }; - CreateDeviceFlag creationFlags = CreateDeviceFlag.BgraSupport; + CreateDeviceFlags creationFlags = CreateDeviceFlags.BgraSupport; #if DEBUG if (SdkLayersAvailable()) { // If the project is in a debug build, enable debugging via SDK Layers with this flag. - creationFlags |= CreateDeviceFlag.Debug; + creationFlags |= CreateDeviceFlags.Debug; } #endif