mirror of
https://github.com/amerkoleci/Vortice.Win32.git
synced 2026-01-14 16:16:04 +08:00
Generator: Add struct field remaps and better remap support.
Generate enums from constants as well.
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
namespace Generator;
|
namespace Generator;
|
||||||
|
|
||||||
@@ -33,6 +34,8 @@ public static class Program
|
|||||||
{"IntPtr", "nint" },
|
{"IntPtr", "nint" },
|
||||||
{"UIntPtr", "nuint" },
|
{"UIntPtr", "nuint" },
|
||||||
|
|
||||||
|
{"Char", "ushort" },
|
||||||
|
|
||||||
{ "Foundation.BOOL", "Bool32" },
|
{ "Foundation.BOOL", "Bool32" },
|
||||||
{ "Foundation.HRESULT", "HResult" },
|
{ "Foundation.HRESULT", "HResult" },
|
||||||
{ "Foundation.LUID", "Luid" },
|
{ "Foundation.LUID", "Luid" },
|
||||||
@@ -49,7 +52,12 @@ public static class Program
|
|||||||
private static readonly Dictionary<string, string> s_knownTypesPrefixes = new()
|
private static readonly Dictionary<string, string> s_knownTypesPrefixes = new()
|
||||||
{
|
{
|
||||||
{ "DXGI_COLOR_SPACE_TYPE", "DXGI_COLOR_SPACE" },
|
{ "DXGI_COLOR_SPACE_TYPE", "DXGI_COLOR_SPACE" },
|
||||||
|
{ "DXGI_GRAPHICS_PREEMPTION_GRANULARITY", "DXGI_GRAPHICS_PREEMPTION" },
|
||||||
{ "DXGI_COMPUTE_PREEMPTION_GRANULARITY", "DXGI_COMPUTE_PREEMPTION" },
|
{ "DXGI_COMPUTE_PREEMPTION_GRANULARITY", "DXGI_COMPUTE_PREEMPTION" },
|
||||||
|
{ "DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS", "DXGI_MULTIPLANE_OVERLAY" },
|
||||||
|
{ "DXGI_RECLAIM_RESOURCE_RESULTS", "DXGI_RECLAIM_RESOURCE_RESULT" },
|
||||||
|
{ "DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS", "DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG" },
|
||||||
|
{ "DXGI_DEBUG_RLO_FLAGS", "DXGI_DEBUG_RLO" },
|
||||||
};
|
};
|
||||||
|
|
||||||
private static readonly Dictionary<string, string> s_knownEnumValueNames = new()
|
private static readonly Dictionary<string, string> s_knownEnumValueNames = new()
|
||||||
@@ -64,6 +72,26 @@ public static class Program
|
|||||||
|
|
||||||
private static readonly HashSet<string> s_preserveCaps = new(StringComparer.OrdinalIgnoreCase)
|
private static readonly HashSet<string> s_preserveCaps = new(StringComparer.OrdinalIgnoreCase)
|
||||||
{
|
{
|
||||||
|
"HW",
|
||||||
|
"YUV",
|
||||||
|
"GDI",
|
||||||
|
};
|
||||||
|
|
||||||
|
private static readonly Dictionary<string, string> s_typesNameRemap = new()
|
||||||
|
{
|
||||||
|
{ "DXGI_ADAPTER_FLAG", "AdapterFlags" },
|
||||||
|
{ "DXGI_ADAPTER_FLAG3", "AdapterFlags3" },
|
||||||
|
{ "DXGI_SWAP_CHAIN_FLAG", "SwapChainFlags" }
|
||||||
|
};
|
||||||
|
|
||||||
|
private static readonly Dictionary<string, string> s_structFieldTypeRemap = new()
|
||||||
|
{
|
||||||
|
{ "DXGI_ADAPTER_DESC1::Flags", "DXGI_ADAPTER_FLAG" },
|
||||||
|
{ "DXGI_ADAPTER_DESC3::Flags", "DXGI_ADAPTER_FLAG3" },
|
||||||
|
{ "DXGI_SWAP_CHAIN_DESC::BufferUsage", "Usage" },
|
||||||
|
{ "DXGI_SWAP_CHAIN_DESC::Flags", "DXGI_SWAP_CHAIN_FLAG" },
|
||||||
|
{ "DXGI_SWAP_CHAIN_DESC1::BufferUsage", "Usage" },
|
||||||
|
{ "DXGI_SWAP_CHAIN_DESC1::Flags", "DXGI_SWAP_CHAIN_FLAG" },
|
||||||
};
|
};
|
||||||
|
|
||||||
public static int Main(string[] args)
|
public static int Main(string[] args)
|
||||||
@@ -109,7 +137,7 @@ public static class Program
|
|||||||
string fileName = string.Empty;
|
string fileName = string.Empty;
|
||||||
for (int i = 1; i < splits.Length - 1; i++)
|
for (int i = 1; i < splits.Length - 1; i++)
|
||||||
{
|
{
|
||||||
if(string.IsNullOrEmpty(fileName) == false)
|
if (string.IsNullOrEmpty(fileName) == false)
|
||||||
{
|
{
|
||||||
fileName += ".";
|
fileName += ".";
|
||||||
}
|
}
|
||||||
@@ -220,6 +248,12 @@ public static class Program
|
|||||||
string fieldTypeName = GetTypeName(field.Type);
|
string fieldTypeName = GetTypeName(field.Type);
|
||||||
//writer.WriteLine($"/// <unmanaged>{field.Name}</unmanaged>");
|
//writer.WriteLine($"/// <unmanaged>{field.Name}</unmanaged>");
|
||||||
|
|
||||||
|
string remapFieldLookUp = $"{structType.Name}::{field.Name}";
|
||||||
|
if (s_structFieldTypeRemap.TryGetValue(remapFieldLookUp, out string? remapType))
|
||||||
|
{
|
||||||
|
fieldTypeName = GetTypeName(remapType);
|
||||||
|
}
|
||||||
|
|
||||||
if (fieldTypeName == "Array")
|
if (fieldTypeName == "Array")
|
||||||
{
|
{
|
||||||
bool canUseFixed = false;
|
bool canUseFixed = false;
|
||||||
@@ -272,7 +306,7 @@ public static class Program
|
|||||||
{
|
{
|
||||||
string unsafePrefix = string.Empty;
|
string unsafePrefix = string.Empty;
|
||||||
fieldTypeName = NormalizeTypeName(writer.Api, fieldTypeName);
|
fieldTypeName = NormalizeTypeName(writer.Api, fieldTypeName);
|
||||||
if(fieldTypeName.EndsWith("*"))
|
if (fieldTypeName.EndsWith("*"))
|
||||||
{
|
{
|
||||||
unsafePrefix += "unsafe ";
|
unsafePrefix += "unsafe ";
|
||||||
}
|
}
|
||||||
@@ -311,6 +345,11 @@ public static class Program
|
|||||||
prefix = knowPrefix!;
|
prefix = knowPrefix!;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (s_typesNameRemap.TryGetValue(typeName, out string? remapName))
|
||||||
|
{
|
||||||
|
return remapName!;
|
||||||
|
}
|
||||||
|
|
||||||
string[] parts = typeName.Split(new[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
|
string[] parts = typeName.Split(new[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
|
|
||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
@@ -331,6 +370,18 @@ public static class Program
|
|||||||
{
|
{
|
||||||
sb.Append("Description");
|
sb.Append("Description");
|
||||||
}
|
}
|
||||||
|
else if (part.Equals("DESC1", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
sb.Append("Description1");
|
||||||
|
}
|
||||||
|
else if (part.Equals("DESC2", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
sb.Append("Description2");
|
||||||
|
}
|
||||||
|
else if (part.Equals("DESC3", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
sb.Append("Description3");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sb.Append(char.ToUpper(part[0]));
|
sb.Append(char.ToUpper(part[0]));
|
||||||
@@ -448,6 +499,12 @@ public static class Program
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (part.Equals("NONPREROTATED", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
sb.Append("NonPrerotated");
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
sb.Append(char.ToUpper(part[0]));
|
sb.Append(char.ToUpper(part[0]));
|
||||||
for (int i = 1; i < part.Length; i++)
|
for (int i = 1; i < part.Length; i++)
|
||||||
@@ -457,6 +514,7 @@ public static class Program
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
string prettyName = sb.ToString();
|
string prettyName = sb.ToString();
|
||||||
return (char.IsNumber(prettyName[0])) ? "_" + prettyName : prettyName;
|
return (char.IsNumber(prettyName[0])) ? "_" + prettyName : prettyName;
|
||||||
@@ -507,9 +565,14 @@ public static class Program
|
|||||||
|
|
||||||
private static string GetTypeName(string name)
|
private static string GetTypeName(string name)
|
||||||
{
|
{
|
||||||
if (s_csNameMappings.TryGetValue(name, out string? mappedName))
|
string? mappedName;
|
||||||
|
if (s_csNameMappings.TryGetValue(name, out mappedName))
|
||||||
{
|
{
|
||||||
return mappedName;
|
return mappedName!;
|
||||||
|
}
|
||||||
|
else if (s_typesNameRemap.TryGetValue(name, out mappedName))
|
||||||
|
{
|
||||||
|
return mappedName!;
|
||||||
}
|
}
|
||||||
|
|
||||||
return name;
|
return name;
|
||||||
|
|||||||
@@ -132,14 +132,14 @@ public enum SwapEffect : int
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG</unmanaged>
|
||||||
public enum SwapChainFlag : int
|
public enum SwapChainFlags : int
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_NONPREROTATED</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_NONPREROTATED</unmanaged>
|
||||||
Nonprerotated = 1,
|
NonPrerotated = 1,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH</unmanaged>
|
||||||
AllowModeSwitch = 2,
|
AllowModeSwitch = 2,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE</unmanaged>
|
||||||
GdiCompatible = 4,
|
GDICompatible = 4,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT</unmanaged>
|
||||||
RestrictedContent = 8,
|
RestrictedContent = 8,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER</unmanaged>
|
||||||
@@ -153,9 +153,9 @@ public enum SwapChainFlag : int
|
|||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO</unmanaged>
|
||||||
FullscreenVideo = 256,
|
FullscreenVideo = 256,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO</unmanaged>
|
||||||
YuvVideo = 512,
|
YUVVideo = 512,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED</unmanaged>
|
||||||
HwProtected = 1024,
|
HWProtected = 1024,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING</unmanaged>
|
||||||
AllowTearing = 2048,
|
AllowTearing = 2048,
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS</unmanaged>
|
||||||
@@ -164,7 +164,7 @@ public enum SwapChainFlag : int
|
|||||||
|
|
||||||
/// <unmanaged>DXGI_ADAPTER_FLAG</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_FLAG</unmanaged>
|
||||||
[Flags]
|
[Flags]
|
||||||
public enum AdapterFlag : uint
|
public enum AdapterFlags : uint
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_ADAPTER_FLAG_NONE</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_FLAG_NONE</unmanaged>
|
||||||
None = 0,
|
None = 0,
|
||||||
@@ -211,15 +211,15 @@ public enum Scaling : int
|
|||||||
public enum GraphicsPreemptionGranularity : int
|
public enum GraphicsPreemptionGranularity : int
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged>
|
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged>
|
||||||
DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY = 0,
|
DmaBufferBoundary = 0,
|
||||||
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY</unmanaged>
|
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY</unmanaged>
|
||||||
DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY = 1,
|
PrimitiveBoundary = 1,
|
||||||
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY</unmanaged>
|
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY</unmanaged>
|
||||||
DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY = 2,
|
TriangleBoundary = 2,
|
||||||
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY</unmanaged>
|
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY</unmanaged>
|
||||||
DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY = 3,
|
PixelBoundary = 3,
|
||||||
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged>
|
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged>
|
||||||
DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY = 4,
|
InstructionBoundary = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_GRANULARITY</unmanaged>
|
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_GRANULARITY</unmanaged>
|
||||||
@@ -241,11 +241,11 @@ public enum ComputePreemptionGranularity : int
|
|||||||
public enum MultiplaneOverlayYcbcrFlags : int
|
public enum MultiplaneOverlayYcbcrFlags : int
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE</unmanaged>
|
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE</unmanaged>
|
||||||
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE = 1,
|
YcbcrFlagNominalRange = 1,
|
||||||
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709</unmanaged>
|
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709</unmanaged>
|
||||||
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709 = 2,
|
YcbcrFlagBt709 = 2,
|
||||||
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC</unmanaged>
|
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC</unmanaged>
|
||||||
DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC = 4,
|
YcbcrFlagXvycc = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_FRAME_PRESENTATION_MODE</unmanaged>
|
/// <unmanaged>DXGI_FRAME_PRESENTATION_MODE</unmanaged>
|
||||||
@@ -324,11 +324,11 @@ public enum OfferResourceFlags : int
|
|||||||
public enum ReclaimResourceResults : int
|
public enum ReclaimResourceResults : int
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_OK</unmanaged>
|
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_OK</unmanaged>
|
||||||
DXGI_RECLAIM_RESOURCE_RESULT_OK = 0,
|
Ok = 0,
|
||||||
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED</unmanaged>
|
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED</unmanaged>
|
||||||
DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED = 1,
|
Discarded = 1,
|
||||||
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED</unmanaged>
|
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED</unmanaged>
|
||||||
DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED = 2,
|
NotCommitted = 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_FEATURE</unmanaged>
|
/// <unmanaged>DXGI_FEATURE</unmanaged>
|
||||||
@@ -340,7 +340,7 @@ public enum Feature : int
|
|||||||
|
|
||||||
/// <unmanaged>DXGI_ADAPTER_FLAG3</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_FLAG3</unmanaged>
|
||||||
[Flags]
|
[Flags]
|
||||||
public enum AdapterFlag3 : uint
|
public enum AdapterFlags3 : uint
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_ADAPTER_FLAG3_NONE</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_FLAG3_NONE</unmanaged>
|
||||||
None = 0,
|
None = 0,
|
||||||
@@ -363,11 +363,11 @@ public enum AdapterFlag3 : uint
|
|||||||
public enum HardwareCompositionSupportFlags : uint
|
public enum HardwareCompositionSupportFlags : uint
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN</unmanaged>
|
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN</unmanaged>
|
||||||
DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN = 1,
|
Fullscreen = 1,
|
||||||
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED</unmanaged>
|
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED</unmanaged>
|
||||||
DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED = 2,
|
Windowed = 2,
|
||||||
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED</unmanaged>
|
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED</unmanaged>
|
||||||
DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED = 4,
|
CursorStretched = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_GPU_PREFERENCE</unmanaged>
|
/// <unmanaged>DXGI_GPU_PREFERENCE</unmanaged>
|
||||||
@@ -386,13 +386,13 @@ public enum GpuPreference : int
|
|||||||
public enum DebugRloFlags : uint
|
public enum DebugRloFlags : uint
|
||||||
{
|
{
|
||||||
/// <unmanaged>DXGI_DEBUG_RLO_SUMMARY</unmanaged>
|
/// <unmanaged>DXGI_DEBUG_RLO_SUMMARY</unmanaged>
|
||||||
DXGI_DEBUG_RLO_SUMMARY = 1,
|
Summary = 1,
|
||||||
/// <unmanaged>DXGI_DEBUG_RLO_DETAIL</unmanaged>
|
/// <unmanaged>DXGI_DEBUG_RLO_DETAIL</unmanaged>
|
||||||
DXGI_DEBUG_RLO_DETAIL = 2,
|
Detail = 2,
|
||||||
/// <unmanaged>DXGI_DEBUG_RLO_IGNORE_INTERNAL</unmanaged>
|
/// <unmanaged>DXGI_DEBUG_RLO_IGNORE_INTERNAL</unmanaged>
|
||||||
DXGI_DEBUG_RLO_IGNORE_INTERNAL = 4,
|
IgnoreInternal = 4,
|
||||||
/// <unmanaged>DXGI_DEBUG_RLO_ALL</unmanaged>
|
/// <unmanaged>DXGI_DEBUG_RLO_ALL</unmanaged>
|
||||||
DXGI_DEBUG_RLO_ALL = 7,
|
All = 7,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY</unmanaged>
|
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY</unmanaged>
|
||||||
@@ -1136,7 +1136,7 @@ public partial struct MappedRect
|
|||||||
/// <unmanaged>DXGI_ADAPTER_DESC</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_DESC</unmanaged>
|
||||||
public partial struct AdapterDescription
|
public partial struct AdapterDescription
|
||||||
{
|
{
|
||||||
public unsafe fixed Char Description[128];
|
public unsafe fixed ushort Description[128];
|
||||||
public uint VendorId;
|
public uint VendorId;
|
||||||
public uint DeviceId;
|
public uint DeviceId;
|
||||||
public uint SubSysId;
|
public uint SubSysId;
|
||||||
@@ -1150,7 +1150,7 @@ public partial struct AdapterDescription
|
|||||||
/// <unmanaged>DXGI_OUTPUT_DESC</unmanaged>
|
/// <unmanaged>DXGI_OUTPUT_DESC</unmanaged>
|
||||||
public partial struct OutputDescription
|
public partial struct OutputDescription
|
||||||
{
|
{
|
||||||
public unsafe fixed Char DeviceName[32];
|
public unsafe fixed ushort DeviceName[32];
|
||||||
public RawRect DesktopCoordinates;
|
public RawRect DesktopCoordinates;
|
||||||
public Bool32 AttachedToDesktop;
|
public Bool32 AttachedToDesktop;
|
||||||
public Common.ModeRotation Rotation;
|
public Common.ModeRotation Rotation;
|
||||||
@@ -1177,18 +1177,18 @@ public partial struct SwapChainDescription
|
|||||||
{
|
{
|
||||||
public Common.ModeDescription BufferDesc;
|
public Common.ModeDescription BufferDesc;
|
||||||
public Common.SampleDescription SampleDesc;
|
public Common.SampleDescription SampleDesc;
|
||||||
public uint BufferUsage;
|
public Usage BufferUsage;
|
||||||
public uint BufferCount;
|
public uint BufferCount;
|
||||||
public IntPtr OutputWindow;
|
public IntPtr OutputWindow;
|
||||||
public Bool32 Windowed;
|
public Bool32 Windowed;
|
||||||
public SwapEffect SwapEffect;
|
public SwapEffect SwapEffect;
|
||||||
public uint Flags;
|
public SwapChainFlags Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_ADAPTER_DESC1</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_DESC1</unmanaged>
|
||||||
public partial struct AdapterDesc1
|
public partial struct AdapterDescription1
|
||||||
{
|
{
|
||||||
public unsafe fixed Char Description[128];
|
public unsafe fixed ushort Description[128];
|
||||||
public uint VendorId;
|
public uint VendorId;
|
||||||
public uint DeviceId;
|
public uint DeviceId;
|
||||||
public uint SubSysId;
|
public uint SubSysId;
|
||||||
@@ -1197,7 +1197,7 @@ public partial struct AdapterDesc1
|
|||||||
public nuint DedicatedSystemMemory;
|
public nuint DedicatedSystemMemory;
|
||||||
public nuint SharedSystemMemory;
|
public nuint SharedSystemMemory;
|
||||||
public Luid AdapterLuid;
|
public Luid AdapterLuid;
|
||||||
public uint Flags;
|
public AdapterFlags Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_DISPLAY_COLOR_SPACE</unmanaged>
|
/// <unmanaged>DXGI_DISPLAY_COLOR_SPACE</unmanaged>
|
||||||
@@ -1253,7 +1253,7 @@ public partial struct OutduplFrameInfo
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_MODE_DESC1</unmanaged>
|
/// <unmanaged>DXGI_MODE_DESC1</unmanaged>
|
||||||
public partial struct ModeDesc1
|
public partial struct ModeDescription1
|
||||||
{
|
{
|
||||||
public uint Width;
|
public uint Width;
|
||||||
public uint Height;
|
public uint Height;
|
||||||
@@ -1265,19 +1265,19 @@ public partial struct ModeDesc1
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_DESC1</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_DESC1</unmanaged>
|
||||||
public partial struct SwapChainDesc1
|
public partial struct SwapChainDescription1
|
||||||
{
|
{
|
||||||
public uint Width;
|
public uint Width;
|
||||||
public uint Height;
|
public uint Height;
|
||||||
public Common.Format Format;
|
public Common.Format Format;
|
||||||
public Bool32 Stereo;
|
public Bool32 Stereo;
|
||||||
public Common.SampleDescription SampleDesc;
|
public Common.SampleDescription SampleDesc;
|
||||||
public uint BufferUsage;
|
public Usage BufferUsage;
|
||||||
public uint BufferCount;
|
public uint BufferCount;
|
||||||
public Scaling Scaling;
|
public Scaling Scaling;
|
||||||
public SwapEffect SwapEffect;
|
public SwapEffect SwapEffect;
|
||||||
public Common.AlphaMode AlphaMode;
|
public Common.AlphaMode AlphaMode;
|
||||||
public uint Flags;
|
public SwapChainFlags Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_SWAP_CHAIN_FULLSCREEN_DESC</unmanaged>
|
/// <unmanaged>DXGI_SWAP_CHAIN_FULLSCREEN_DESC</unmanaged>
|
||||||
@@ -1299,9 +1299,9 @@ public partial struct PresentParameters
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_ADAPTER_DESC2</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_DESC2</unmanaged>
|
||||||
public partial struct AdapterDesc2
|
public partial struct AdapterDescription2
|
||||||
{
|
{
|
||||||
public unsafe fixed Char Description[128];
|
public unsafe fixed ushort Description[128];
|
||||||
public uint VendorId;
|
public uint VendorId;
|
||||||
public uint DeviceId;
|
public uint DeviceId;
|
||||||
public uint SubSysId;
|
public uint SubSysId;
|
||||||
@@ -1373,9 +1373,9 @@ public partial struct HdrMetadataHdr10plus
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_ADAPTER_DESC3</unmanaged>
|
/// <unmanaged>DXGI_ADAPTER_DESC3</unmanaged>
|
||||||
public partial struct AdapterDesc3
|
public partial struct AdapterDescription3
|
||||||
{
|
{
|
||||||
public unsafe fixed Char Description[128];
|
public unsafe fixed ushort Description[128];
|
||||||
public uint VendorId;
|
public uint VendorId;
|
||||||
public uint DeviceId;
|
public uint DeviceId;
|
||||||
public uint SubSysId;
|
public uint SubSysId;
|
||||||
@@ -1384,15 +1384,15 @@ public partial struct AdapterDesc3
|
|||||||
public nuint DedicatedSystemMemory;
|
public nuint DedicatedSystemMemory;
|
||||||
public nuint SharedSystemMemory;
|
public nuint SharedSystemMemory;
|
||||||
public Luid AdapterLuid;
|
public Luid AdapterLuid;
|
||||||
public AdapterFlag3 Flags;
|
public AdapterFlags3 Flags;
|
||||||
public GraphicsPreemptionGranularity GraphicsPreemptionGranularity;
|
public GraphicsPreemptionGranularity GraphicsPreemptionGranularity;
|
||||||
public ComputePreemptionGranularity ComputePreemptionGranularity;
|
public ComputePreemptionGranularity ComputePreemptionGranularity;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <unmanaged>DXGI_OUTPUT_DESC1</unmanaged>
|
/// <unmanaged>DXGI_OUTPUT_DESC1</unmanaged>
|
||||||
public partial struct OutputDesc1
|
public partial struct OutputDescription1
|
||||||
{
|
{
|
||||||
public unsafe fixed Char DeviceName[32];
|
public unsafe fixed ushort DeviceName[32];
|
||||||
public RawRect DesktopCoordinates;
|
public RawRect DesktopCoordinates;
|
||||||
public Bool32 AttachedToDesktop;
|
public Bool32 AttachedToDesktop;
|
||||||
public Common.ModeRotation Rotation;
|
public Common.ModeRotation Rotation;
|
||||||
|
|||||||
26
src/Vortice.Win32/Graphics/Dxgi.Manual.cs
Normal file
26
src/Vortice.Win32/Graphics/Dxgi.Manual.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
using static Win32.Graphics.Dxgi.Apis;
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Dxgi;
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum Usage : uint
|
||||||
|
{
|
||||||
|
ShaderInput = DXGI_USAGE_SHADER_INPUT,
|
||||||
|
RenderTargetOutput = DXGI_USAGE_RENDER_TARGET_OUTPUT,
|
||||||
|
Backbuffer = DXGI_USAGE_BACK_BUFFER,
|
||||||
|
Shared = DXGI_USAGE_SHARED,
|
||||||
|
ReadOnly = DXGI_USAGE_READ_ONLY,
|
||||||
|
DiscardOnPresent = DXGI_USAGE_DISCARD_ON_PRESENT,
|
||||||
|
UnorderedAccess = DXGI_USAGE_UNORDERED_ACCESS
|
||||||
|
}
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum MapFlags : uint
|
||||||
|
{
|
||||||
|
Read = DXGI_MAP_READ,
|
||||||
|
Write = DXGI_MAP_WRITE,
|
||||||
|
Discard = DXGI_MAP_DISCARD
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user