Generator: More improvements and handle better remap and FLAG -> FLAGS.

This commit is contained in:
Amer Koleci
2022-09-07 14:47:18 +02:00
parent 4e7162db9a
commit 5450810063
5 changed files with 59 additions and 459 deletions

View File

@@ -1,6 +1,7 @@
// Copyright © Amer Koleci and Contributors. // Copyright © Amer Koleci and Contributors.
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information. // Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
using System.ComponentModel.DataAnnotations;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@@ -220,25 +221,10 @@ public static class Program
private static readonly Dictionary<string, string> s_typesNameRemap = new() private static readonly Dictionary<string, string> s_typesNameRemap = new()
{ {
{ "DXGI_ADAPTER_FLAG", "AdapterFlags" },
{ "DXGI_ADAPTER_FLAG3", "AdapterFlags3" },
{ "DXGI_SWAP_CHAIN_FLAG", "SwapChainFlags" },
// Generated // Generated
{ "DXGI_MAP", "MapFlags" }, { "DXGI_MAP", "MapFlags" },
{ "DXGI_ENUM_MODES", "EnumModesFlags" }, { "DXGI_ENUM_MODES", "EnumModesFlags" },
{ "DXGI_MWA", "WindowAssociationFlags" }, { "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<string, string> s_structFieldTypeRemap = new() private static readonly Dictionary<string, string> s_structFieldTypeRemap = new()
@@ -406,6 +392,11 @@ public static class Program
writer.WriteLine($"#region Enums"); writer.WriteLine($"#region Enums");
foreach (ApiType enumType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "enum")) foreach (ApiType enumType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "enum"))
{ {
if (enumType.Name.StartsWith("D3DX11"))
{
continue;
}
GenerateEnum(writer, enumType, false); GenerateEnum(writer, enumType, false);
s_visitedEnums.Add($"{writer.Api}.{enumType.Name}"); s_visitedEnums.Add($"{writer.Api}.{enumType.Name}");
@@ -471,6 +462,11 @@ public static class Program
writer.WriteLine($"#region Unions"); writer.WriteLine($"#region Unions");
foreach (ApiType structType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "union")) 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}")) if (s_csNameMappings.ContainsKey($"{writer.Api}.{structType.Name}"))
{ {
continue; continue;
@@ -487,6 +483,11 @@ public static class Program
writer.WriteLine($"#region Structs"); writer.WriteLine($"#region Structs");
foreach (ApiType structType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "struct")) 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}")) if (s_csNameMappings.ContainsKey($"{writer.Api}.{structType.Name}"))
{ {
continue; continue;
@@ -503,11 +504,10 @@ public static class Program
writer.WriteLine($"#region COM Types"); writer.WriteLine($"#region COM Types");
foreach (ApiType comType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "com")) foreach (ApiType comType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "com"))
{ {
//if (comType.Name != "IDXGIObject" && if (comType.Name.StartsWith("ID3DX11"))
// comType.Name != "IDXGIDeviceSubObject") {
//{ continue;
// break; }
//}
// Generate methods // Generate methods
List<KeyValuePair<ApiFunction, string>> methodsToGenerate = new(); List<KeyValuePair<ApiFunction, string>> methodsToGenerate = new();
@@ -546,7 +546,9 @@ public static class Program
{ {
if (function.Name.StartsWith("D3DX11") || if (function.Name.StartsWith("D3DX11") ||
function.Name == "D3DDisassemble11Trace") function.Name == "D3DDisassemble11Trace")
{
continue; continue;
}
WriteFunction(writer, api, function); WriteFunction(writer, api, function);
writer.WriteLine(); writer.WriteLine();
@@ -677,6 +679,11 @@ public static class Program
baseTypeName = "byte"; baseTypeName = "byte";
} }
if (enumType.Name == "DXGI_ADAPTER_FLAG")
{
}
using (writer.PushBlock($"public enum {csTypeName} : {baseTypeName}")) using (writer.PushBlock($"public enum {csTypeName} : {baseTypeName}"))
{ {
if (isFlags && if (isFlags &&
@@ -825,7 +832,7 @@ public static class Program
string remapFieldLookUp = $"{structType.Name}::{field.Name}"; string remapFieldLookUp = $"{structType.Name}::{field.Name}";
if (s_structFieldTypeRemap.TryGetValue(remapFieldLookUp, out string? remapType)) if (s_structFieldTypeRemap.TryGetValue(remapFieldLookUp, out string? remapType))
{ {
fieldTypeName = GetTypeName(remapType); fieldTypeName = GetTypeName($"{writer.Api}.{remapType}");
} }
if (fieldTypeName == "Array") if (fieldTypeName == "Array")
@@ -1340,6 +1347,10 @@ public static class Program
{ {
sb.Append("Description3"); sb.Append("Description3");
} }
else if (part == "FLAG")
{
sb.Append("Flags");
}
else else
{ {
sb.Append(char.ToUpper(part[0])); sb.Append(char.ToUpper(part[0]));

View File

@@ -820,7 +820,7 @@ public enum MapFlags : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RAISE_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RAISE_FLAG"]/*' />
/// <unmanaged>D3D11_RAISE_FLAG</unmanaged> /// <unmanaged>D3D11_RAISE_FLAG</unmanaged>
[Flags] [Flags]
public enum RaiseFlag : int public enum RaiseFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RAISE_FLAG::D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RAISE_FLAG::D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR"]/*' />
@@ -831,7 +831,7 @@ public enum RaiseFlag : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLEAR_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLEAR_FLAG"]/*' />
/// <unmanaged>D3D11_CLEAR_FLAG</unmanaged> /// <unmanaged>D3D11_CLEAR_FLAG</unmanaged>
[Flags] [Flags]
public enum ClearFlag : int public enum ClearFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLEAR_FLAG::D3D11_CLEAR_DEPTH"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CLEAR_FLAG::D3D11_CLEAR_DEPTH"]/*' />
@@ -1042,7 +1042,7 @@ public enum TextureCubeFace : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV_FLAG"]/*' />
/// <unmanaged>D3D11_BUFFEREX_SRV_FLAG</unmanaged> /// <unmanaged>D3D11_BUFFEREX_SRV_FLAG</unmanaged>
[Flags] [Flags]
public enum BufferExtendedSrvFlag : int public enum BufferExtendedSrvFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV_FLAG::D3D11_BUFFEREX_SRV_FLAG_RAW"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFEREX_SRV_FLAG::D3D11_BUFFEREX_SRV_FLAG_RAW"]/*' />
@@ -1067,7 +1067,7 @@ public enum DsvFlags : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV_FLAG"]/*' />
/// <unmanaged>D3D11_BUFFER_UAV_FLAG</unmanaged> /// <unmanaged>D3D11_BUFFER_UAV_FLAG</unmanaged>
[Flags] [Flags]
public enum BufferUavFlag : int public enum BufferUavFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV_FLAG::D3D11_BUFFER_UAV_FLAG_RAW"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_BUFFER_UAV_FLAG::D3D11_BUFFER_UAV_FLAG_RAW"]/*' />
@@ -1394,7 +1394,7 @@ public enum FormatSupport2 : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ASYNC_GETDATA_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ASYNC_GETDATA_FLAG"]/*' />
/// <unmanaged>D3D11_ASYNC_GETDATA_FLAG</unmanaged> /// <unmanaged>D3D11_ASYNC_GETDATA_FLAG</unmanaged>
[Flags] [Flags]
public enum AsyncGetDataFlag : int public enum AsyncGetDataFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ASYNC_GETDATA_FLAG::D3D11_ASYNC_GETDATA_DONOTFLUSH"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_ASYNC_GETDATA_FLAG::D3D11_ASYNC_GETDATA_DONOTFLUSH"]/*' />
@@ -1459,7 +1459,7 @@ public enum Query : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_MISC_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_MISC_FLAG"]/*' />
/// <unmanaged>D3D11_QUERY_MISC_FLAG</unmanaged> /// <unmanaged>D3D11_QUERY_MISC_FLAG</unmanaged>
[Flags] [Flags]
public enum QueryMiscFlag : int public enum QueryMiscFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_MISC_FLAG::D3D11_QUERY_MISC_PREDICATEHINT"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_QUERY_MISC_FLAG::D3D11_QUERY_MISC_PREDICATEHINT"]/*' />
@@ -2272,7 +2272,7 @@ public enum VpovDimension : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CREATE_DEVICE_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CREATE_DEVICE_FLAG"]/*' />
/// <unmanaged>D3D11_CREATE_DEVICE_FLAG</unmanaged> /// <unmanaged>D3D11_CREATE_DEVICE_FLAG</unmanaged>
[Flags] [Flags]
public enum CreateDeviceFlag : uint public enum CreateDeviceFlags : uint
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CREATE_DEVICE_FLAG::D3D11_CREATE_DEVICE_SINGLETHREADED"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CREATE_DEVICE_FLAG::D3D11_CREATE_DEVICE_SINGLETHREADED"]/*' />
@@ -6508,7 +6508,7 @@ public enum LogicOp : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG"]/*' />
/// <unmanaged>D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG</unmanaged> /// <unmanaged>D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG</unmanaged>
[Flags] [Flags]
public enum _1CreateDeviceContextStateFlag : int public enum _1CreateDeviceContextStateFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG::D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG::D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED"]/*' />
@@ -6573,7 +6573,7 @@ public enum CryptoSessionStatus : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_MAPPING_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_MAPPING_FLAG"]/*' />
/// <unmanaged>D3D11_TILE_MAPPING_FLAG</unmanaged> /// <unmanaged>D3D11_TILE_MAPPING_FLAG</unmanaged>
[Flags] [Flags]
public enum TileMappingFlag : int public enum TileMappingFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_MAPPING_FLAG::D3D11_TILE_MAPPING_NO_OVERWRITE"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_MAPPING_FLAG::D3D11_TILE_MAPPING_NO_OVERWRITE"]/*' />
@@ -6584,7 +6584,7 @@ public enum TileMappingFlag : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_RANGE_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_RANGE_FLAG"]/*' />
/// <unmanaged>D3D11_TILE_RANGE_FLAG</unmanaged> /// <unmanaged>D3D11_TILE_RANGE_FLAG</unmanaged>
[Flags] [Flags]
public enum TileRangeFlag : int public enum TileRangeFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_RANGE_FLAG::D3D11_TILE_RANGE_NULL"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_RANGE_FLAG::D3D11_TILE_RANGE_NULL"]/*' />
@@ -6601,7 +6601,7 @@ public enum TileRangeFlag : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG"]/*' />
/// <unmanaged>D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG</unmanaged> /// <unmanaged>D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG</unmanaged>
[Flags] [Flags]
public enum CheckMultisampleQualityLevelsFlag : int public enum CheckMultisampleQualityLevelsFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG::D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG::D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE"]/*' />
@@ -6612,7 +6612,7 @@ public enum CheckMultisampleQualityLevelsFlag : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_COPY_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_COPY_FLAG"]/*' />
/// <unmanaged>D3D11_TILE_COPY_FLAG</unmanaged> /// <unmanaged>D3D11_TILE_COPY_FLAG</unmanaged>
[Flags] [Flags]
public enum TileCopyFlag : int public enum TileCopyFlags : int
{ {
None = 0, None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_COPY_FLAG::D3D11_TILE_COPY_NO_OVERWRITE"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_TILE_COPY_FLAG::D3D11_TILE_COPY_NO_OVERWRITE"]/*' />
@@ -6677,7 +6677,7 @@ public enum ConservativeRasterizationMode : int
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FENCE_FLAG"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FENCE_FLAG"]/*' />
/// <unmanaged>D3D11_FENCE_FLAG</unmanaged> /// <unmanaged>D3D11_FENCE_FLAG</unmanaged>
[Flags] [Flags]
public enum FenceFlag : uint public enum FenceFlags : uint
{ {
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FENCE_FLAG::D3D11_FENCE_FLAG_NONE"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_FENCE_FLAG::D3D11_FENCE_FLAG_NONE"]/*' />
/// <unmanaged>D3D11_FENCE_FLAG_NONE</unmanaged> /// <unmanaged>D3D11_FENCE_FLAG_NONE</unmanaged>
@@ -6961,98 +6961,6 @@ public enum TraceRegisterType : int
D3D11_TRACE_INTERFACE_POINTER = 35, D3D11_TRACE_INTERFACE_POINTER = 35,
} }
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_DATA_TYPE"]/*' />
/// <unmanaged>D3DX11_SCAN_DATA_TYPE</unmanaged>
public enum D3dx11ScanDataType : int
{
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_DATA_TYPE::D3DX11_SCAN_DATA_TYPE_FLOAT"]/*' />
/// <unmanaged>D3DX11_SCAN_DATA_TYPE_FLOAT</unmanaged>
Float = 1,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_DATA_TYPE::D3DX11_SCAN_DATA_TYPE_INT"]/*' />
/// <unmanaged>D3DX11_SCAN_DATA_TYPE_INT</unmanaged>
Int = 2,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_DATA_TYPE::D3DX11_SCAN_DATA_TYPE_UINT"]/*' />
/// <unmanaged>D3DX11_SCAN_DATA_TYPE_UINT</unmanaged>
Uint = 3,
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE</unmanaged>
public enum D3dx11ScanOpcode : int
{
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE::D3DX11_SCAN_OPCODE_ADD"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE_ADD</unmanaged>
Add = 1,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE::D3DX11_SCAN_OPCODE_MIN"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE_MIN</unmanaged>
Min = 2,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE::D3DX11_SCAN_OPCODE_MAX"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE_MAX</unmanaged>
Max = 3,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE::D3DX11_SCAN_OPCODE_MUL"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE_MUL</unmanaged>
Mul = 4,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE::D3DX11_SCAN_OPCODE_AND"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE_AND</unmanaged>
And = 5,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE::D3DX11_SCAN_OPCODE_OR"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE_OR</unmanaged>
Or = 6,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_OPCODE::D3DX11_SCAN_OPCODE_XOR"]/*' />
/// <unmanaged>D3DX11_SCAN_OPCODE_XOR</unmanaged>
Xor = 7,
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_DIRECTION"]/*' />
/// <unmanaged>D3DX11_SCAN_DIRECTION</unmanaged>
public enum D3dx11ScanDirection : int
{
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_DIRECTION::D3DX11_SCAN_DIRECTION_FORWARD"]/*' />
/// <unmanaged>D3DX11_SCAN_DIRECTION_FORWARD</unmanaged>
Forward = 1,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_SCAN_DIRECTION::D3DX11_SCAN_DIRECTION_BACKWARD"]/*' />
/// <unmanaged>D3DX11_SCAN_DIRECTION_BACKWARD</unmanaged>
Backward = 2,
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DATA_TYPE"]/*' />
/// <unmanaged>D3DX11_FFT_DATA_TYPE</unmanaged>
public enum D3dx11FftDataType : int
{
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DATA_TYPE::D3DX11_FFT_DATA_TYPE_REAL"]/*' />
/// <unmanaged>D3DX11_FFT_DATA_TYPE_REAL</unmanaged>
Real = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DATA_TYPE::D3DX11_FFT_DATA_TYPE_COMPLEX"]/*' />
/// <unmanaged>D3DX11_FFT_DATA_TYPE_COMPLEX</unmanaged>
Complex = 1,
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DIM_MASK"]/*' />
/// <unmanaged>D3DX11_FFT_DIM_MASK</unmanaged>
public enum D3dx11FftDimMask : int
{
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DIM_MASK::D3DX11_FFT_DIM_MASK_1D"]/*' />
/// <unmanaged>D3DX11_FFT_DIM_MASK_1D</unmanaged>
_1d = 1,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DIM_MASK::D3DX11_FFT_DIM_MASK_2D"]/*' />
/// <unmanaged>D3DX11_FFT_DIM_MASK_2D</unmanaged>
_2d = 3,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DIM_MASK::D3DX11_FFT_DIM_MASK_3D"]/*' />
/// <unmanaged>D3DX11_FFT_DIM_MASK_3D</unmanaged>
_3d = 7,
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_CREATE_FLAG"]/*' />
/// <unmanaged>D3DX11_FFT_CREATE_FLAG</unmanaged>
[Flags]
public enum D3dx11FftCreateFlag : int
{
None = 0,
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_CREATE_FLAG::D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS"]/*' />
/// <unmanaged>D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS</unmanaged>
NoPrecomputeBuffers = 1,
}
#endregion Enums #endregion Enums
#region Generated Enums #region Generated Enums
@@ -12049,40 +11957,6 @@ public partial struct TraceStep
public ulong CurrentGlobalCycle; public ulong CurrentGlobalCycle;
} }
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DESC"]/*' />
/// <unmanaged>D3DX11_FFT_DESC</unmanaged>
public partial struct D3dx11FftDescription
{
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DESC::NumDimensions"]/*' />
public uint NumDimensions;
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DESC::ElementLengths"]/*' />
public unsafe fixed uint ElementLengths[32];
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DESC::DimensionMask"]/*' />
public uint DimensionMask;
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_DESC::Type"]/*' />
public D3dx11FftDataType Type;
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_BUFFER_INFO"]/*' />
/// <unmanaged>D3DX11_FFT_BUFFER_INFO</unmanaged>
public partial struct D3dx11FftBufferInfo
{
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_BUFFER_INFO::NumTempBufferSizes"]/*' />
public uint NumTempBufferSizes;
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_BUFFER_INFO::TempBufferFloatSizes"]/*' />
public unsafe fixed uint TempBufferFloatSizes[4];
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_BUFFER_INFO::NumPrecomputeBufferSizes"]/*' />
public uint NumPrecomputeBufferSizes;
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3DX11_FFT_BUFFER_INFO::PrecomputeBufferFloatSizes"]/*' />
public unsafe fixed uint PrecomputeBufferFloatSizes[4];
}
#endregion Structs #endregion Structs
#region COM Types #region COM Types
@@ -28864,9 +28738,9 @@ public unsafe partial struct ID3D11Device5
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3D11Device5::CreateFence"]/*' /> /// <include file='../Direct3D11.xml' path='doc/member[@name="ID3D11Device5::CreateFence"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)] [MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(68)] [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]<ID3D11Device5*, ulong, FenceFlag, Guid*, void**, int>)(lpVtbl[68]))((ID3D11Device5*)Unsafe.AsPointer(ref this), InitialValue, Flags, ReturnedInterface, ppFence); return ((delegate* unmanaged[Stdcall]<ID3D11Device5*, ulong, FenceFlags, Guid*, void**, int>)(lpVtbl[68]))((ID3D11Device5*)Unsafe.AsPointer(ref this), InitialValue, Flags, ReturnedInterface, ppFence);
} }
} }
@@ -32001,300 +31875,15 @@ public unsafe partial struct ID3D11ShaderTraceFactory
} }
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11Scan"]/*' />
/// <unmanaged>ID3DX11Scan</unmanaged>
[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<byte> 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<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DX11Scan));
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11Scan::SetScanDirection"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetScanDirection(D3dx11ScanDirection Direction)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11Scan*, D3dx11ScanDirection, int>)(lpVtbl[3]))((ID3DX11Scan*)Unsafe.AsPointer(ref this), Direction);
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11Scan::Scan"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult Scan(D3dx11ScanDataType ElementType, D3dx11ScanOpcode OpCode, uint ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pDst)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11Scan*, D3dx11ScanDataType, D3dx11ScanOpcode, uint, ID3D11UnorderedAccessView*, ID3D11UnorderedAccessView*, int>)(lpVtbl[4]))((ID3DX11Scan*)Unsafe.AsPointer(ref this), ElementType, OpCode, ElementScanSize, pSrc, pDst);
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11Scan::Multiscan"]/*' />
[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]<ID3DX11Scan*, D3dx11ScanDataType, D3dx11ScanOpcode, uint, uint, uint, ID3D11UnorderedAccessView*, ID3D11UnorderedAccessView*, int>)(lpVtbl[5]))((ID3DX11Scan*)Unsafe.AsPointer(ref this), ElementType, OpCode, ElementScanSize, ElementScanPitch, ScanCount, pSrc, pDst);
}
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11SegmentedScan"]/*' />
/// <unmanaged>ID3DX11SegmentedScan</unmanaged>
[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<byte> 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<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DX11SegmentedScan));
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11SegmentedScan::SetScanDirection"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetScanDirection(D3dx11ScanDirection Direction)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11SegmentedScan*, D3dx11ScanDirection, int>)(lpVtbl[3]))((ID3DX11SegmentedScan*)Unsafe.AsPointer(ref this), Direction);
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11SegmentedScan::SegScan"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SegScan(D3dx11ScanDataType ElementType, D3dx11ScanOpcode OpCode, uint ElementScanSize, ID3D11UnorderedAccessView* pSrc, ID3D11UnorderedAccessView* pSrcElementFlags, ID3D11UnorderedAccessView* pDst)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11SegmentedScan*, D3dx11ScanDataType, D3dx11ScanOpcode, uint, ID3D11UnorderedAccessView*, ID3D11UnorderedAccessView*, ID3D11UnorderedAccessView*, int>)(lpVtbl[4]))((ID3DX11SegmentedScan*)Unsafe.AsPointer(ref this), ElementType, OpCode, ElementScanSize, pSrc, pSrcElementFlags, pDst);
}
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT"]/*' />
/// <unmanaged>ID3DX11FFT</unmanaged>
[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<byte> 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<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DX11FFT));
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT::SetForwardScale"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetForwardScale(float ForwardScale)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11FFT*, float, int>)(lpVtbl[3]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), ForwardScale);
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT::GetForwardScale"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public float GetForwardScale()
{
return ((delegate* unmanaged[Stdcall]<ID3DX11FFT*, float>)(lpVtbl[4]))((ID3DX11FFT*)Unsafe.AsPointer(ref this));
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT::SetInverseScale"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult SetInverseScale(float InverseScale)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11FFT*, float, int>)(lpVtbl[5]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), InverseScale);
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT::GetInverseScale"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public float GetInverseScale()
{
return ((delegate* unmanaged[Stdcall]<ID3DX11FFT*, float>)(lpVtbl[6]))((ID3DX11FFT*)Unsafe.AsPointer(ref this));
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT::AttachBuffersAndPrecompute"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult AttachBuffersAndPrecompute(uint NumTempBuffers, ID3D11UnorderedAccessView* ppTempBuffers, uint NumPrecomputeBuffers, ID3D11UnorderedAccessView* ppPrecomputeBufferSizes)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11FFT*, uint, ID3D11UnorderedAccessView*, uint, ID3D11UnorderedAccessView*, int>)(lpVtbl[7]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), NumTempBuffers, ppTempBuffers, NumPrecomputeBuffers, ppPrecomputeBufferSizes);
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT::ForwardTransform"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult ForwardTransform(ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView* ppOutputBuffer)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11FFT*, ID3D11UnorderedAccessView*, ID3D11UnorderedAccessView*, int>)(lpVtbl[8]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), pInputBuffer, ppOutputBuffer);
}
/// <include file='../Direct3D11.xml' path='doc/member[@name="ID3DX11FFT::InverseTransform"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult InverseTransform(ID3D11UnorderedAccessView* pInputBuffer, ID3D11UnorderedAccessView* ppOutputBuffer)
{
return ((delegate* unmanaged[Stdcall]<ID3DX11FFT*, ID3D11UnorderedAccessView*, ID3D11UnorderedAccessView*, int>)(lpVtbl[9]))((ID3DX11FFT*)Unsafe.AsPointer(ref this), pInputBuffer, ppOutputBuffer);
}
}
#endregion Com Types #endregion Com Types
#region Functions #region Functions
public static unsafe partial class Apis public static unsafe partial class Apis
{ {
[DllImport("d3d11", ExactSpelling = true)] [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)] [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 #endregion Functions

View File

@@ -308,7 +308,7 @@ public enum FramePresentationMode : int
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_SUPPORT_FLAG"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_SUPPORT_FLAG"]/*' />
/// <unmanaged>DXGI_OVERLAY_SUPPORT_FLAG</unmanaged> /// <unmanaged>DXGI_OVERLAY_SUPPORT_FLAG</unmanaged>
[Flags] [Flags]
public enum OverlaySupportFlag : int public enum OverlaySupportFlags : int
{ {
None = 0, None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_SUPPORT_FLAG::DXGI_OVERLAY_SUPPORT_FLAG_DIRECT"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_SUPPORT_FLAG::DXGI_OVERLAY_SUPPORT_FLAG_DIRECT"]/*' />
@@ -322,7 +322,7 @@ public enum OverlaySupportFlag : int
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG"]/*' />
/// <unmanaged>DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG</unmanaged> /// <unmanaged>DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG</unmanaged>
[Flags] [Flags]
public enum SwapChainColorSpaceSupportFlag : int public enum SwapChainColorSpaceSupportFlags : int
{ {
None = 0, None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG::DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG::DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT"]/*' />
@@ -336,7 +336,7 @@ public enum SwapChainColorSpaceSupportFlag : int
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG"]/*' />
/// <unmanaged>DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG</unmanaged> /// <unmanaged>DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG</unmanaged>
[Flags] [Flags]
public enum OverlayColorSpaceSupportFlag : int public enum OverlayColorSpaceSupportFlags : int
{ {
None = 0, None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG::DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG::DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT"]/*' />
@@ -359,7 +359,7 @@ public enum MemorySegmentGroup : int
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FLAG"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FLAG"]/*' />
/// <unmanaged>DXGI_OUTDUPL_FLAG</unmanaged> /// <unmanaged>DXGI_OUTDUPL_FLAG</unmanaged>
[Flags] [Flags]
public enum OutduplFlag : int public enum OutduplFlags : int
{ {
None = 0, None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FLAG::DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FLAG::DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY"]/*' />
@@ -420,7 +420,7 @@ public enum Feature : int
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3</unmanaged> /// <unmanaged>DXGI_ADAPTER_FLAG3</unmanaged>
[Flags] [Flags]
public enum AdapterFlags3 : uint public enum AdapterFlag3 : uint
{ {
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_NONE"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_NONE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_NONE</unmanaged> /// <unmanaged>DXGI_ADAPTER_FLAG3_NONE</unmanaged>
@@ -2221,7 +2221,7 @@ public partial struct AdapterDescription3
public Luid AdapterLuid; public Luid AdapterLuid;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::Flags"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::Flags"]/*' />
public AdapterFlags3 Flags; public AdapterFlag3 Flags;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::GraphicsPreemptionGranularity"]/*' /> /// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::GraphicsPreemptionGranularity"]/*' />
public GraphicsPreemptionGranularity GraphicsPreemptionGranularity; public GraphicsPreemptionGranularity GraphicsPreemptionGranularity;

View File

@@ -62,7 +62,7 @@ public static unsafe partial class Apis
public static HResult D3D11CreateDevice( public static HResult D3D11CreateDevice(
IDXGIAdapter* pAdapter, IDXGIAdapter* pAdapter,
DriverType driverType, DriverType driverType,
CreateDeviceFlag flags, CreateDeviceFlags flags,
ReadOnlySpan<FeatureLevel> featureLevels, ReadOnlySpan<FeatureLevel> featureLevels,
ID3D11Device** ppDevice, ID3D11Device** ppDevice,
FeatureLevel* pFeatureLevel, FeatureLevel* pFeatureLevel,

View File

@@ -24,7 +24,7 @@ public static unsafe class Program
null, null,
DriverType.Null, // There is no need to create a real hardware device. DriverType.Null, // There is no need to create a real hardware device.
IntPtr.Zero, IntPtr.Zero,
CreateDeviceFlag.Debug, // Check for the SDK layers. CreateDeviceFlags.Debug, // Check for the SDK layers.
null, // Any feature level will do. null, // Any feature level will do.
0, 0,
D3D11_SDK_VERSION, D3D11_SDK_VERSION,
@@ -111,12 +111,12 @@ public static unsafe class Program
FeatureLevel.Level_11_0 FeatureLevel.Level_11_0
}; };
CreateDeviceFlag creationFlags = CreateDeviceFlag.BgraSupport; CreateDeviceFlags creationFlags = CreateDeviceFlags.BgraSupport;
#if DEBUG #if DEBUG
if (SdkLayersAvailable()) if (SdkLayersAvailable())
{ {
// If the project is in a debug build, enable debugging via SDK Layers with this flag. // If the project is in a debug build, enable debugging via SDK Layers with this flag.
creationFlags |= CreateDeviceFlag.Debug; creationFlags |= CreateDeviceFlags.Debug;
} }
#endif #endif