Generator: WIP docs generation.

This commit is contained in:
Amer Koleci
2022-09-01 17:17:31 +02:00
parent 36c2f20ea0
commit 953fbfb207
8 changed files with 5875 additions and 6 deletions

View File

@@ -12,10 +12,12 @@ public sealed class CodeWriter : IDisposable
public int IndentLevel { get; private set; } public int IndentLevel { get; private set; }
public string Api { get; } public string Api { get; }
public string DocFileName { get; }
public CodeWriter(string fileName, string api, string ns, params string[] usingNamespaces) public CodeWriter(string fileName, string api, string docFileName, string ns, params string[] usingNamespaces)
{ {
Api = api; Api = api;
DocFileName = docFileName;
_indentStrings = new string[10]; _indentStrings = new string[10];
for (int i = 0; i < _indentStrings.Length; i++) for (int i = 0; i < _indentStrings.Length; i++)

View File

@@ -8,7 +8,9 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="MessagePack" Version="2.4.35" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2-beta2" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.2-beta2" />
<PackageReference Include="Microsoft.Windows.SDK.Win32Docs" Version="0.1.8-alpha" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -2,7 +2,12 @@
// 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.Text; using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using MessagePack;
using Microsoft.Windows.SDK.Win32Docs;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Generator; namespace Generator;
@@ -138,9 +143,211 @@ public static class Program
Generate(api!, outputPath, jsonFile); Generate(api!, outputPath, jsonFile);
} }
// Generate docs
using FileStream docsStream = File.OpenRead(@"C:\Users\amerk\.nuget\packages\microsoft.windows.sdk.win32docs\0.1.8-alpha\apidocs.msgpack");
var data = MessagePackSerializer.Deserialize<Dictionary<string, ApiDetails>>(docsStream);
var documentationData = new Dictionary<string, ApiDetails>();
string[] prefixes = new[] { "DXGI" };
foreach (string key in data.Keys)
{
//Debug.WriteLine(key);
foreach (string prefix in prefixes)
{
if (key.StartsWith(prefix) || key.StartsWith("I" + prefix))
{
documentationData.Add(key, data[key]);
}
}
}
XmlWriterSettings settings = new()
{
Indent = true,
};
//settings.ConformanceLevel = ConformanceLevel.Fragment;
using (var writer = XmlWriter.Create(Path.Combine(outputPath, "DXGI.xml"), settings))
{
writer.WriteStartDocument();
writer.WriteStartElement(null, "doc", null);
foreach (var item in documentationData.Keys)
{
var doc = documentationData[item];
if (!string.IsNullOrEmpty(doc.Description) || doc.Parameters.Count > 0)
{
writer.WriteStartElement(null, "member", null);
writer.WriteAttributeString("name", item.Replace(".", "::"));
{
writer.WriteStartElement(null, "summary", null);
{
if (!string.IsNullOrEmpty(doc.Description))
{
writer.WriteStartElement(null, "para", null);
writer.WriteRaw(FormatMd(doc.Description));
writer.WriteEndElement(); // para
}
if (doc.HelpLink != null)
{
writer.WriteStartElement(null, "para", null);
writer.WriteString("Microsoft Docs: ");
writer.WriteStartElement(null, "see", null);
writer.WriteAttributeString("href", doc.HelpLink.ToString());
writer.WriteEndElement(); // see
writer.WriteEndElement(); // para
}
// Write params
foreach (var param in doc.Parameters)
{
if (!string.IsNullOrEmpty(param.Value))
{
writer.WriteStartElement(null, "param", null);
string paramName = param.Key;
if (paramName.StartsWith("pp") && char.IsUpper(paramName[2]))
{
paramName = paramName.Substring(2);
paramName = paramName[0].ToString().ToLower() + paramName.Substring(1);
}
else if (paramName.StartsWith("p") && char.IsUpper(paramName[1]))
{
paramName = paramName.Substring(1);
paramName = paramName[0].ToString().ToLower() + paramName.Substring(1);
}
else if (paramName.StartsWith("u") && char.IsUpper(paramName[1]))
{
paramName = paramName.Substring(1);
paramName = paramName[0].ToString().ToLower() + paramName.Substring(1);
}
else if (paramName.StartsWith("b") && char.IsUpper(paramName[1])) // bEnable
{
paramName = paramName.Substring(1);
paramName = paramName[0].ToString().ToLower() + paramName.Substring(1);
}
else if (char.IsUpper(paramName[0]) && paramName.Length > 1 && char.IsLower(paramName[1]))
{
paramName = paramName[0].ToString().ToLower() + paramName.Substring(1);
}
else if (paramName == "ID")
{
paramName = "id";
}
else if (paramName == "dwCookie")
{
paramName = "cookie";
}
writer.WriteAttributeString("name", paramName);
if (!param.Value.StartsWith("Type:"))
{
writer.WriteRaw(FormatMd(param.Value));
}
else
{
var lines = param.Value.Split('\n');
writer.WriteRaw(FormatMd(string.Join("\r\n", lines.Skip(2))));
}
writer.WriteEndElement(); // param
}
}
}
writer.WriteEndElement(); // summary
}
writer.WriteEndElement(); // comment
}
// Write fields
foreach (var fieldName in doc.Fields.Keys)
{
var field = doc.Fields[fieldName];
if (string.IsNullOrEmpty(field))
{
continue;
}
if (!field.StartsWith("Type:"))
{
// Enum value
writer.WriteStartElement(null, "member", null);
writer.WriteAttributeString("name", $"{item.Replace(".", "::")}::{fieldName}");
{
writer.WriteStartElement(null, "summary", null);
{
var a = FormatMd(field);
writer.WriteRaw(FormatMd(field));
}
writer.WriteEndElement(); // summary
}
writer.WriteEndElement(); // comment
}
else
{
// Struct field
writer.WriteStartElement(null, "member", null);
writer.WriteAttributeString("name", $"{item.Replace(".", "::")}::{fieldName}");
{
writer.WriteStartElement(null, "summary", null);
{
var lines = field.Split('\n');
writer.WriteRaw(FormatMd(string.Join("\r\n", lines.Skip(2))));
}
writer.WriteEndElement(); // summary
}
writer.WriteEndElement(); // comment
}
}
}
writer.WriteEndElement(); // comments
writer.WriteEndDocument();
}
return 0; return 0;
} }
public static Regex MDLink = new(@"\[([A-z0-9<>\\]+)\]\(([^\)]+)\)");
public static Regex ImgLink = new(@"!\[([A-z0-9<>\\]+)\]\(([^\)]+)\)");
public static Regex Bold = new(@"\*\*([^ ^\*][^\*^\n]*)\*\*");
public static Regex Italics = new(@"\*([^ ^\*][^\*^\n]*)\*");
public static Regex MultilineCode = new(@"```[A-z]*([^`]+)```");
public static Regex InlineCode = new(@"`([^`]+)`");
public static Regex Struct = new Regex(@"struct DML_[A-z0-9_]+_OPERATOR_DESC\r\n{[^}]+};", RegexOptions.Multiline);
public static string FormatMd(string value)
{
value = ImgLink.Replace(value, "");
value = MDLink.Replace(value, "<a href=\"https://docs.microsoft.com$2\">$1</a>");
value = Bold.Replace(value, "<b>$1</b>");
value = Italics.Replace(value, "<i>$1</i>");
value = MultilineCode.Replace(value, "<code>$1</code>");
value = InlineCode.Replace(value, "<c>$1</c>");
value = value.Replace("<code>s<code>", "<c>s</c>");
value = value.Replace("ns-d3d12video-d3d12_video_process_luma_key\"\"", "\"ns-d3d12video-d3d12_video_process_luma_key\"");
value = value.Replace("&L", "&amp;l");
value = value.Replace("& ", "&amp; ");
value = value.Replace(" > ", " &gt; ");
value = value.Replace(" < ", " &lt; ");
value = value.Replace(" >= ", " &gt;= ");
value = value.Replace(" <= ", " &lt;= ");
value = value.Replace("<-", "&lt;-");
value = value.Replace("->", "-&gt;");
value = value.Replace("\n>", "\n&gt;");
value = value.Replace("&mdash;", "—");
return value;
}
private static void Generate(ApiData api, string outputPath, string jsonFile) private static void Generate(ApiData api, string outputPath, string jsonFile)
{ {
string[] splits = jsonFile.Split(".", StringSplitOptions.RemoveEmptyEntries); string[] splits = jsonFile.Split(".", StringSplitOptions.RemoveEmptyEntries);
@@ -168,6 +375,7 @@ public static class Program
using var writer = new CodeWriter( using var writer = new CodeWriter(
Path.Combine(outputFolder, fileName), Path.Combine(outputFolder, fileName),
$"{folderRoot}.{ns}", $"{folderRoot}.{ns}",
$"DXGI",
$"Win32.{folderRoot}.{ns}"); $"Win32.{folderRoot}.{ns}");
GenerateConstants(writer, api); GenerateConstants(writer, api);
@@ -219,7 +427,7 @@ 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"))
{ {
GenerateEnum(writer, enumType); GenerateEnum(writer, enumType, false);
} }
writer.WriteLine($"#endregion Enums"); writer.WriteLine($"#endregion Enums");
writer.WriteLine(); writer.WriteLine();
@@ -271,7 +479,7 @@ public static class Program
foreach (ApiType enumType in createdEnums.Values) foreach (ApiType enumType in createdEnums.Values)
{ {
GenerateEnum(writer, enumType); GenerateEnum(writer, enumType, true);
} }
writer.WriteLine($"#endregion Generated Enums"); writer.WriteLine($"#endregion Generated Enums");
@@ -286,12 +494,17 @@ public static class Program
writer.WriteLine(); writer.WriteLine();
} }
private static void GenerateEnum(CodeWriter writer, ApiType enumType) private static void GenerateEnum(CodeWriter writer, ApiType enumType, bool autoGenerated)
{ {
string csTypeName = GetDataTypeName(enumType.Name, out string enumPrefix); string csTypeName = GetDataTypeName(enumType.Name, out string enumPrefix);
string baseTypeName = GetTypeName(enumType.IntegerBase); string baseTypeName = GetTypeName(enumType.IntegerBase);
AddCsMapping(writer.Api, enumType.Name, csTypeName); AddCsMapping(writer.Api, enumType.Name, csTypeName);
if (!autoGenerated)
{
writer.WriteLine($"/// <include file='../{writer.DocFileName}.xml' path='doc/member[@name=\"{enumType.Name}\"]/*' />");
}
if (s_generateUnmanagedDocs) if (s_generateUnmanagedDocs)
writer.WriteLine($"/// <unmanaged>{enumType.Name}</unmanaged>"); writer.WriteLine($"/// <unmanaged>{enumType.Name}</unmanaged>");
@@ -317,6 +530,12 @@ public static class Program
continue; continue;
string enumValueName = GetPrettyFieldName(value.Name, enumPrefix); string enumValueName = GetPrettyFieldName(value.Name, enumPrefix);
if (!autoGenerated)
{
writer.WriteLine($"/// <include file='../{writer.DocFileName}.xml' path='doc/member[@name=\"{enumType.Name}::{value.Name}\"]/*' />");
}
if (s_generateUnmanagedDocs) if (s_generateUnmanagedDocs)
{ {
writer.WriteLine($"/// <unmanaged>{value.Name}</unmanaged>"); writer.WriteLine($"/// <unmanaged>{value.Name}</unmanaged>");
@@ -339,6 +558,8 @@ public static class Program
string csTypeName = GetDataTypeName(structType.Name, out string structPrefix); string csTypeName = GetDataTypeName(structType.Name, out string structPrefix);
AddCsMapping(writer.Api, structType.Name, csTypeName); AddCsMapping(writer.Api, structType.Name, csTypeName);
writer.WriteLine($"/// <include file='../{writer.DocFileName}.xml' path='doc/member[@name=\"{structType.Name}\"]/*' />");
if (s_generateUnmanagedDocs) if (s_generateUnmanagedDocs)
{ {
writer.WriteLine($"/// <unmanaged>{structType.Name}</unmanaged>"); writer.WriteLine($"/// <unmanaged>{structType.Name}</unmanaged>");
@@ -353,6 +574,9 @@ public static class Program
string fieldValueName = GetPrettyFieldName(field.Name, structPrefix); string fieldValueName = GetPrettyFieldName(field.Name, structPrefix);
string fieldTypeName = GetTypeName(field.Type); string fieldTypeName = GetTypeName(field.Type);
writer.WriteLine($"/// <include file='../{writer.DocFileName}.xml' path='doc/member[@name=\"{structType.Name}::{field.Name}\"]/*' />");
if (s_generateUnmanagedDocs) if (s_generateUnmanagedDocs)
{ {
//writer.WriteLine($"/// <unmanaged>{field.Name}</unmanaged>"); //writer.WriteLine($"/// <unmanaged>{field.Name}</unmanaged>");

File diff suppressed because it is too large Load Diff

View File

@@ -24,358 +24,527 @@ public static partial class Apis
} }
#region Enums #region Enums
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_TYPE</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_TYPE</unmanaged>
public enum ColorSpaceType : int public enum ColorSpaceType : int
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709</unmanaged>
RgbFullG22NoneP709 = 0, RgbFullG22NoneP709 = 0,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709</unmanaged>
RgbFullG10NoneP709 = 1, RgbFullG10NoneP709 = 1,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709</unmanaged>
RgbStudioG22NoneP709 = 2, RgbStudioG22NoneP709 = 2,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020</unmanaged>
RgbStudioG22NoneP2020 = 3, RgbStudioG22NoneP2020 = 3,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RESERVED"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RESERVED</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RESERVED</unmanaged>
Reserved = 4, Reserved = 4,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601</unmanaged>
YcbcrFullG22NoneP709X601 = 5, YcbcrFullG22NoneP709X601 = 5,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601</unmanaged>
YcbcrStudioG22LeftP601 = 6, YcbcrStudioG22LeftP601 = 6,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601</unmanaged>
YcbcrFullG22LeftP601 = 7, YcbcrFullG22LeftP601 = 7,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709</unmanaged>
YcbcrStudioG22LeftP709 = 8, YcbcrStudioG22LeftP709 = 8,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709</unmanaged>
YcbcrFullG22LeftP709 = 9, YcbcrFullG22LeftP709 = 9,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020</unmanaged>
YcbcrStudioG22LeftP2020 = 10, YcbcrStudioG22LeftP2020 = 10,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020</unmanaged>
YcbcrFullG22LeftP2020 = 11, YcbcrFullG22LeftP2020 = 11,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020</unmanaged>
RgbFullG2084NoneP2020 = 12, RgbFullG2084NoneP2020 = 12,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020</unmanaged>
YcbcrStudioG2084LeftP2020 = 13, YcbcrStudioG2084LeftP2020 = 13,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020</unmanaged>
RgbStudioG2084NoneP2020 = 14, RgbStudioG2084NoneP2020 = 14,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020</unmanaged>
YcbcrStudioG22TopleftP2020 = 15, YcbcrStudioG22TopleftP2020 = 15,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020</unmanaged>
YcbcrStudioG2084TopleftP2020 = 16, YcbcrStudioG2084TopleftP2020 = 16,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020</unmanaged>
RgbFullG22NoneP2020 = 17, RgbFullG22NoneP2020 = 17,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020</unmanaged>
YcbcrStudioGhlgTopleftP2020 = 18, YcbcrStudioGhlgTopleftP2020 = 18,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020</unmanaged>
YcbcrFullGhlgTopleftP2020 = 19, YcbcrFullGhlgTopleftP2020 = 19,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709</unmanaged>
RgbStudioG24NoneP709 = 20, RgbStudioG24NoneP709 = 20,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020</unmanaged>
RgbStudioG24NoneP2020 = 21, RgbStudioG24NoneP2020 = 21,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709</unmanaged>
YcbcrStudioG24LeftP709 = 22, YcbcrStudioG24LeftP709 = 22,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020</unmanaged>
YcbcrStudioG24LeftP2020 = 23, YcbcrStudioG24LeftP2020 = 23,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020</unmanaged>
YcbcrStudioG24TopleftP2020 = 24, YcbcrStudioG24TopleftP2020 = 24,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_COLOR_SPACE_TYPE::DXGI_COLOR_SPACE_CUSTOM"]/*' />
/// <unmanaged>DXGI_COLOR_SPACE_CUSTOM</unmanaged> /// <unmanaged>DXGI_COLOR_SPACE_CUSTOM</unmanaged>
Custom = -1, Custom = -1,
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT"]/*' />
/// <unmanaged>DXGI_FORMAT</unmanaged> /// <unmanaged>DXGI_FORMAT</unmanaged>
public enum Format : uint public enum Format : uint
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_UNKNOWN"]/*' />
/// <unmanaged>DXGI_FORMAT_UNKNOWN</unmanaged> /// <unmanaged>DXGI_FORMAT_UNKNOWN</unmanaged>
Unknown = 0, Unknown = 0,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32A32_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32A32_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32A32_TYPELESS</unmanaged>
R32G32B32A32Typeless = 1, R32G32B32A32Typeless = 1,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32A32_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32A32_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32A32_FLOAT</unmanaged>
R32G32B32A32Float = 2, R32G32B32A32Float = 2,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32A32_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32A32_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32A32_UINT</unmanaged>
R32G32B32A32Uint = 3, R32G32B32A32Uint = 3,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32A32_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32A32_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32A32_SINT</unmanaged>
R32G32B32A32Sint = 4, R32G32B32A32Sint = 4,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32_TYPELESS</unmanaged>
R32G32B32Typeless = 5, R32G32B32Typeless = 5,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32_FLOAT</unmanaged>
R32G32B32Float = 6, R32G32B32Float = 6,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32_UINT</unmanaged>
R32G32B32Uint = 7, R32G32B32Uint = 7,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32B32_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32B32_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32B32_SINT</unmanaged>
R32G32B32Sint = 8, R32G32B32Sint = 8,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16B16A16_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16B16A16_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16B16A16_TYPELESS</unmanaged>
R16G16B16A16Typeless = 9, R16G16B16A16Typeless = 9,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16B16A16_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16B16A16_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16B16A16_FLOAT</unmanaged>
R16G16B16A16Float = 10, R16G16B16A16Float = 10,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16B16A16_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16B16A16_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16B16A16_UNORM</unmanaged>
R16G16B16A16Unorm = 11, R16G16B16A16Unorm = 11,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16B16A16_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16B16A16_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16B16A16_UINT</unmanaged>
R16G16B16A16Uint = 12, R16G16B16A16Uint = 12,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16B16A16_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16B16A16_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16B16A16_SNORM</unmanaged>
R16G16B16A16Snorm = 13, R16G16B16A16Snorm = 13,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16B16A16_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16B16A16_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16B16A16_SINT</unmanaged>
R16G16B16A16Sint = 14, R16G16B16A16Sint = 14,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32_TYPELESS</unmanaged>
R32G32Typeless = 15, R32G32Typeless = 15,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32_FLOAT</unmanaged>
R32G32Float = 16, R32G32Float = 16,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32_UINT</unmanaged>
R32G32Uint = 17, R32G32Uint = 17,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G32_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G32_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G32_SINT</unmanaged>
R32G32Sint = 18, R32G32Sint = 18,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32G8X24_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R32G8X24_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R32G8X24_TYPELESS</unmanaged>
R32G8X24Typeless = 19, R32G8X24Typeless = 19,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_D32_FLOAT_S8X24_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_D32_FLOAT_S8X24_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_D32_FLOAT_S8X24_UINT</unmanaged>
D32FloatS8X24Uint = 20, D32FloatS8X24Uint = 20,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS</unmanaged>
R32FloatX8X24Typeless = 21, R32FloatX8X24Typeless = 21,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_X32_TYPELESS_G8X24_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_X32_TYPELESS_G8X24_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_X32_TYPELESS_G8X24_UINT</unmanaged>
X32TypelessG8X24Uint = 22, X32TypelessG8X24Uint = 22,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R10G10B10A2_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R10G10B10A2_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R10G10B10A2_TYPELESS</unmanaged>
R10G10B10A2Typeless = 23, R10G10B10A2Typeless = 23,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R10G10B10A2_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R10G10B10A2_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R10G10B10A2_UNORM</unmanaged>
R10G10B10A2Unorm = 24, R10G10B10A2Unorm = 24,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R10G10B10A2_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R10G10B10A2_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R10G10B10A2_UINT</unmanaged>
R10G10B10A2Uint = 25, R10G10B10A2Uint = 25,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R11G11B10_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R11G11B10_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R11G11B10_FLOAT</unmanaged>
R11G11B10Float = 26, R11G11B10Float = 26,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8B8A8_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8B8A8_TYPELESS</unmanaged>
R8G8B8A8Typeless = 27, R8G8B8A8Typeless = 27,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8B8A8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8B8A8_UNORM</unmanaged>
R8G8B8A8Unorm = 28, R8G8B8A8Unorm = 28,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_UNORM_SRGB"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8B8A8_UNORM_SRGB</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8B8A8_UNORM_SRGB</unmanaged>
R8G8B8A8UnormSrgb = 29, R8G8B8A8UnormSrgb = 29,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8B8A8_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8B8A8_UINT</unmanaged>
R8G8B8A8Uint = 30, R8G8B8A8Uint = 30,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8B8A8_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8B8A8_SNORM</unmanaged>
R8G8B8A8Snorm = 31, R8G8B8A8Snorm = 31,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8B8A8_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8B8A8_SINT</unmanaged>
R8G8B8A8Sint = 32, R8G8B8A8Sint = 32,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16_TYPELESS</unmanaged>
R16G16Typeless = 33, R16G16Typeless = 33,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16_FLOAT</unmanaged>
R16G16Float = 34, R16G16Float = 34,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16_UNORM</unmanaged>
R16G16Unorm = 35, R16G16Unorm = 35,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16_UINT</unmanaged>
R16G16Uint = 36, R16G16Uint = 36,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16_SNORM</unmanaged>
R16G16Snorm = 37, R16G16Snorm = 37,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16G16_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16G16_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16G16_SINT</unmanaged>
R16G16Sint = 38, R16G16Sint = 38,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R32_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R32_TYPELESS</unmanaged>
R32Typeless = 39, R32Typeless = 39,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_D32_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_D32_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_D32_FLOAT</unmanaged>
D32Float = 40, D32Float = 40,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32_FLOAT</unmanaged>
R32Float = 41, R32Float = 41,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32_UINT</unmanaged>
R32Uint = 42, R32Uint = 42,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R32_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R32_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R32_SINT</unmanaged>
R32Sint = 43, R32Sint = 43,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R24G8_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R24G8_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R24G8_TYPELESS</unmanaged>
R24G8Typeless = 44, R24G8Typeless = 44,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_D24_UNORM_S8_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_D24_UNORM_S8_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_D24_UNORM_S8_UINT</unmanaged>
D24UnormS8Uint = 45, D24UnormS8Uint = 45,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R24_UNORM_X8_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R24_UNORM_X8_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R24_UNORM_X8_TYPELESS</unmanaged>
R24UnormX8Typeless = 46, R24UnormX8Typeless = 46,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_X24_TYPELESS_G8_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_X24_TYPELESS_G8_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_X24_TYPELESS_G8_UINT</unmanaged>
X24TypelessG8Uint = 47, X24TypelessG8Uint = 47,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8_TYPELESS</unmanaged>
R8G8Typeless = 48, R8G8Typeless = 48,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8_UNORM</unmanaged>
R8G8Unorm = 49, R8G8Unorm = 49,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8_UINT</unmanaged>
R8G8Uint = 50, R8G8Uint = 50,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8_SNORM</unmanaged>
R8G8Snorm = 51, R8G8Snorm = 51,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8_SINT</unmanaged>
R8G8Sint = 52, R8G8Sint = 52,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R16_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R16_TYPELESS</unmanaged>
R16Typeless = 53, R16Typeless = 53,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16_FLOAT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16_FLOAT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16_FLOAT</unmanaged>
R16Float = 54, R16Float = 54,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_D16_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_D16_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_D16_UNORM</unmanaged>
D16Unorm = 55, D16Unorm = 55,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R16_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R16_UNORM</unmanaged>
R16Unorm = 56, R16Unorm = 56,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16_UINT</unmanaged>
R16Uint = 57, R16Uint = 57,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R16_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R16_SNORM</unmanaged>
R16Snorm = 58, R16Snorm = 58,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R16_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R16_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R16_SINT</unmanaged>
R16Sint = 59, R16Sint = 59,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_R8_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_R8_TYPELESS</unmanaged>
R8Typeless = 60, R8Typeless = 60,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R8_UNORM</unmanaged>
R8Unorm = 61, R8Unorm = 61,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8_UINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R8_UINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R8_UINT</unmanaged>
R8Uint = 62, R8Uint = 62,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R8_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R8_SNORM</unmanaged>
R8Snorm = 63, R8Snorm = 63,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8_SINT"]/*' />
/// <unmanaged>DXGI_FORMAT_R8_SINT</unmanaged> /// <unmanaged>DXGI_FORMAT_R8_SINT</unmanaged>
R8Sint = 64, R8Sint = 64,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_A8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_A8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_A8_UNORM</unmanaged>
A8Unorm = 65, A8Unorm = 65,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R1_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R1_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R1_UNORM</unmanaged>
R1Unorm = 66, R1Unorm = 66,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R9G9B9E5_SHAREDEXP"]/*' />
/// <unmanaged>DXGI_FORMAT_R9G9B9E5_SHAREDEXP</unmanaged> /// <unmanaged>DXGI_FORMAT_R9G9B9E5_SHAREDEXP</unmanaged>
R9G9B9E5SharedExp = 67, R9G9B9E5SharedExp = 67,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R8G8_B8G8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R8G8_B8G8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R8G8_B8G8_UNORM</unmanaged>
R8G8B8G8Unorm = 68, R8G8B8G8Unorm = 68,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_G8R8_G8B8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_G8R8_G8B8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_G8R8_G8B8_UNORM</unmanaged>
G8R8G8B8Unorm = 69, G8R8G8B8Unorm = 69,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC1_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_BC1_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_BC1_TYPELESS</unmanaged>
BC1Typeless = 70, BC1Typeless = 70,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC1_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC1_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC1_UNORM</unmanaged>
BC1Unorm = 71, BC1Unorm = 71,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC1_UNORM_SRGB"]/*' />
/// <unmanaged>DXGI_FORMAT_BC1_UNORM_SRGB</unmanaged> /// <unmanaged>DXGI_FORMAT_BC1_UNORM_SRGB</unmanaged>
BC1UnormSrgb = 72, BC1UnormSrgb = 72,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC2_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_BC2_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_BC2_TYPELESS</unmanaged>
BC2Typeless = 73, BC2Typeless = 73,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC2_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC2_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC2_UNORM</unmanaged>
BC2Unorm = 74, BC2Unorm = 74,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC2_UNORM_SRGB"]/*' />
/// <unmanaged>DXGI_FORMAT_BC2_UNORM_SRGB</unmanaged> /// <unmanaged>DXGI_FORMAT_BC2_UNORM_SRGB</unmanaged>
BC2UnormSrgb = 75, BC2UnormSrgb = 75,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC3_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_BC3_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_BC3_TYPELESS</unmanaged>
BC3Typeless = 76, BC3Typeless = 76,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC3_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC3_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC3_UNORM</unmanaged>
BC3Unorm = 77, BC3Unorm = 77,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC3_UNORM_SRGB"]/*' />
/// <unmanaged>DXGI_FORMAT_BC3_UNORM_SRGB</unmanaged> /// <unmanaged>DXGI_FORMAT_BC3_UNORM_SRGB</unmanaged>
BC3UnormSrgb = 78, BC3UnormSrgb = 78,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC4_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_BC4_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_BC4_TYPELESS</unmanaged>
BC4Typeless = 79, BC4Typeless = 79,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC4_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC4_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC4_UNORM</unmanaged>
BC4Unorm = 80, BC4Unorm = 80,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC4_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC4_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC4_SNORM</unmanaged>
BC4Snorm = 81, BC4Snorm = 81,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC5_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_BC5_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_BC5_TYPELESS</unmanaged>
BC5Typeless = 82, BC5Typeless = 82,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC5_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC5_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC5_UNORM</unmanaged>
BC5Unorm = 83, BC5Unorm = 83,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC5_SNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC5_SNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC5_SNORM</unmanaged>
BC5Snorm = 84, BC5Snorm = 84,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B5G6R5_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_B5G6R5_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_B5G6R5_UNORM</unmanaged>
B5G6R5Unorm = 85, B5G6R5Unorm = 85,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B5G5R5A1_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_B5G5R5A1_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_B5G5R5A1_UNORM</unmanaged>
B5G5R5A1Unorm = 86, B5G5R5A1Unorm = 86,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B8G8R8A8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_B8G8R8A8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_B8G8R8A8_UNORM</unmanaged>
B8G8R8A8Unorm = 87, B8G8R8A8Unorm = 87,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B8G8R8X8_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_B8G8R8X8_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_B8G8R8X8_UNORM</unmanaged>
B8G8R8X8Unorm = 88, B8G8R8X8Unorm = 88,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM</unmanaged>
R10G10B10XRBIASA2Unorm = 89, R10G10B10XRBIASA2Unorm = 89,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B8G8R8A8_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_B8G8R8A8_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_B8G8R8A8_TYPELESS</unmanaged>
B8G8R8A8Typeless = 90, B8G8R8A8Typeless = 90,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B8G8R8A8_UNORM_SRGB"]/*' />
/// <unmanaged>DXGI_FORMAT_B8G8R8A8_UNORM_SRGB</unmanaged> /// <unmanaged>DXGI_FORMAT_B8G8R8A8_UNORM_SRGB</unmanaged>
B8G8R8A8UnormSrgb = 91, B8G8R8A8UnormSrgb = 91,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B8G8R8X8_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_B8G8R8X8_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_B8G8R8X8_TYPELESS</unmanaged>
B8G8R8X8Typeless = 92, B8G8R8X8Typeless = 92,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B8G8R8X8_UNORM_SRGB"]/*' />
/// <unmanaged>DXGI_FORMAT_B8G8R8X8_UNORM_SRGB</unmanaged> /// <unmanaged>DXGI_FORMAT_B8G8R8X8_UNORM_SRGB</unmanaged>
B8G8R8X8UnormSrgb = 93, B8G8R8X8UnormSrgb = 93,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC6H_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_BC6H_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_BC6H_TYPELESS</unmanaged>
BC6HTypeless = 94, BC6HTypeless = 94,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC6H_UF16"]/*' />
/// <unmanaged>DXGI_FORMAT_BC6H_UF16</unmanaged> /// <unmanaged>DXGI_FORMAT_BC6H_UF16</unmanaged>
BC6HUF16 = 95, BC6HUF16 = 95,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC6H_SF16"]/*' />
/// <unmanaged>DXGI_FORMAT_BC6H_SF16</unmanaged> /// <unmanaged>DXGI_FORMAT_BC6H_SF16</unmanaged>
BC6HSF16 = 96, BC6HSF16 = 96,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC7_TYPELESS"]/*' />
/// <unmanaged>DXGI_FORMAT_BC7_TYPELESS</unmanaged> /// <unmanaged>DXGI_FORMAT_BC7_TYPELESS</unmanaged>
BC7Typeless = 97, BC7Typeless = 97,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC7_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_BC7_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_BC7_UNORM</unmanaged>
BC7Unorm = 98, BC7Unorm = 98,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_BC7_UNORM_SRGB"]/*' />
/// <unmanaged>DXGI_FORMAT_BC7_UNORM_SRGB</unmanaged> /// <unmanaged>DXGI_FORMAT_BC7_UNORM_SRGB</unmanaged>
BC7UnormSrgb = 99, BC7UnormSrgb = 99,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_AYUV"]/*' />
/// <unmanaged>DXGI_FORMAT_AYUV</unmanaged> /// <unmanaged>DXGI_FORMAT_AYUV</unmanaged>
AYUV = 100, AYUV = 100,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_Y410"]/*' />
/// <unmanaged>DXGI_FORMAT_Y410</unmanaged> /// <unmanaged>DXGI_FORMAT_Y410</unmanaged>
Y410 = 101, Y410 = 101,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_Y416"]/*' />
/// <unmanaged>DXGI_FORMAT_Y416</unmanaged> /// <unmanaged>DXGI_FORMAT_Y416</unmanaged>
Y416 = 102, Y416 = 102,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_NV12"]/*' />
/// <unmanaged>DXGI_FORMAT_NV12</unmanaged> /// <unmanaged>DXGI_FORMAT_NV12</unmanaged>
NV12 = 103, NV12 = 103,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_P010"]/*' />
/// <unmanaged>DXGI_FORMAT_P010</unmanaged> /// <unmanaged>DXGI_FORMAT_P010</unmanaged>
P010 = 104, P010 = 104,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_P016"]/*' />
/// <unmanaged>DXGI_FORMAT_P016</unmanaged> /// <unmanaged>DXGI_FORMAT_P016</unmanaged>
P016 = 105, P016 = 105,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_420_OPAQUE"]/*' />
/// <unmanaged>DXGI_FORMAT_420_OPAQUE</unmanaged> /// <unmanaged>DXGI_FORMAT_420_OPAQUE</unmanaged>
Opaque420 = 106, Opaque420 = 106,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_YUY2"]/*' />
/// <unmanaged>DXGI_FORMAT_YUY2</unmanaged> /// <unmanaged>DXGI_FORMAT_YUY2</unmanaged>
YUY2 = 107, YUY2 = 107,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_Y210"]/*' />
/// <unmanaged>DXGI_FORMAT_Y210</unmanaged> /// <unmanaged>DXGI_FORMAT_Y210</unmanaged>
Y210 = 108, Y210 = 108,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_Y216"]/*' />
/// <unmanaged>DXGI_FORMAT_Y216</unmanaged> /// <unmanaged>DXGI_FORMAT_Y216</unmanaged>
Y216 = 109, Y216 = 109,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_NV11"]/*' />
/// <unmanaged>DXGI_FORMAT_NV11</unmanaged> /// <unmanaged>DXGI_FORMAT_NV11</unmanaged>
NV11 = 110, NV11 = 110,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_AI44"]/*' />
/// <unmanaged>DXGI_FORMAT_AI44</unmanaged> /// <unmanaged>DXGI_FORMAT_AI44</unmanaged>
AI44 = 111, AI44 = 111,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_IA44"]/*' />
/// <unmanaged>DXGI_FORMAT_IA44</unmanaged> /// <unmanaged>DXGI_FORMAT_IA44</unmanaged>
IA44 = 112, IA44 = 112,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_P8"]/*' />
/// <unmanaged>DXGI_FORMAT_P8</unmanaged> /// <unmanaged>DXGI_FORMAT_P8</unmanaged>
P8 = 113, P8 = 113,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_A8P8"]/*' />
/// <unmanaged>DXGI_FORMAT_A8P8</unmanaged> /// <unmanaged>DXGI_FORMAT_A8P8</unmanaged>
A8P8 = 114, A8P8 = 114,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_B4G4R4A4_UNORM"]/*' />
/// <unmanaged>DXGI_FORMAT_B4G4R4A4_UNORM</unmanaged> /// <unmanaged>DXGI_FORMAT_B4G4R4A4_UNORM</unmanaged>
B4G4R4A4Unorm = 115, B4G4R4A4Unorm = 115,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_P208"]/*' />
/// <unmanaged>DXGI_FORMAT_P208</unmanaged> /// <unmanaged>DXGI_FORMAT_P208</unmanaged>
P208 = 130, P208 = 130,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_V208"]/*' />
/// <unmanaged>DXGI_FORMAT_V208</unmanaged> /// <unmanaged>DXGI_FORMAT_V208</unmanaged>
V208 = 131, V208 = 131,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_V408"]/*' />
/// <unmanaged>DXGI_FORMAT_V408</unmanaged> /// <unmanaged>DXGI_FORMAT_V408</unmanaged>
V408 = 132, V408 = 132,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE"]/*' />
/// <unmanaged>DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE</unmanaged> /// <unmanaged>DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE</unmanaged>
SamplerFeedbackMinMipOpaque = 189, SamplerFeedbackMinMipOpaque = 189,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_FORMAT::DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE"]/*' />
/// <unmanaged>DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE</unmanaged> /// <unmanaged>DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE</unmanaged>
SamplerFeedbackMipRegionUsedOpaque = 190, SamplerFeedbackMipRegionUsedOpaque = 190,
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCANLINE_ORDER"]/*' />
/// <unmanaged>DXGI_MODE_SCANLINE_ORDER</unmanaged> /// <unmanaged>DXGI_MODE_SCANLINE_ORDER</unmanaged>
public enum ModeScanlineOrder : int public enum ModeScanlineOrder : int
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCANLINE_ORDER::DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED"]/*' />
/// <unmanaged>DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED</unmanaged> /// <unmanaged>DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED</unmanaged>
Unspecified = 0, Unspecified = 0,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCANLINE_ORDER::DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE"]/*' />
/// <unmanaged>DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE</unmanaged> /// <unmanaged>DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE</unmanaged>
Progressive = 1, Progressive = 1,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCANLINE_ORDER::DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST"]/*' />
/// <unmanaged>DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST</unmanaged> /// <unmanaged>DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST</unmanaged>
UpperFieldFirst = 2, UpperFieldFirst = 2,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCANLINE_ORDER::DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST"]/*' />
/// <unmanaged>DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST</unmanaged> /// <unmanaged>DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST</unmanaged>
LowerFieldFirst = 3, LowerFieldFirst = 3,
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCALING"]/*' />
/// <unmanaged>DXGI_MODE_SCALING</unmanaged> /// <unmanaged>DXGI_MODE_SCALING</unmanaged>
public enum ModeScaling : int public enum ModeScaling : int
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCALING::DXGI_MODE_SCALING_UNSPECIFIED"]/*' />
/// <unmanaged>DXGI_MODE_SCALING_UNSPECIFIED</unmanaged> /// <unmanaged>DXGI_MODE_SCALING_UNSPECIFIED</unmanaged>
Unspecified = 0, Unspecified = 0,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCALING::DXGI_MODE_SCALING_CENTERED"]/*' />
/// <unmanaged>DXGI_MODE_SCALING_CENTERED</unmanaged> /// <unmanaged>DXGI_MODE_SCALING_CENTERED</unmanaged>
Centered = 1, Centered = 1,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_SCALING::DXGI_MODE_SCALING_STRETCHED"]/*' />
/// <unmanaged>DXGI_MODE_SCALING_STRETCHED</unmanaged> /// <unmanaged>DXGI_MODE_SCALING_STRETCHED</unmanaged>
Stretched = 2, Stretched = 2,
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_ROTATION"]/*' />
/// <unmanaged>DXGI_MODE_ROTATION</unmanaged> /// <unmanaged>DXGI_MODE_ROTATION</unmanaged>
public enum ModeRotation : int public enum ModeRotation : int
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_ROTATION::DXGI_MODE_ROTATION_UNSPECIFIED"]/*' />
/// <unmanaged>DXGI_MODE_ROTATION_UNSPECIFIED</unmanaged> /// <unmanaged>DXGI_MODE_ROTATION_UNSPECIFIED</unmanaged>
Unspecified = 0, Unspecified = 0,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_ROTATION::DXGI_MODE_ROTATION_IDENTITY"]/*' />
/// <unmanaged>DXGI_MODE_ROTATION_IDENTITY</unmanaged> /// <unmanaged>DXGI_MODE_ROTATION_IDENTITY</unmanaged>
Identity = 1, Identity = 1,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_ROTATION::DXGI_MODE_ROTATION_ROTATE90"]/*' />
/// <unmanaged>DXGI_MODE_ROTATION_ROTATE90</unmanaged> /// <unmanaged>DXGI_MODE_ROTATION_ROTATE90</unmanaged>
Rotate90 = 2, Rotate90 = 2,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_ROTATION::DXGI_MODE_ROTATION_ROTATE180"]/*' />
/// <unmanaged>DXGI_MODE_ROTATION_ROTATE180</unmanaged> /// <unmanaged>DXGI_MODE_ROTATION_ROTATE180</unmanaged>
Rotate180 = 3, Rotate180 = 3,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_ROTATION::DXGI_MODE_ROTATION_ROTATE270"]/*' />
/// <unmanaged>DXGI_MODE_ROTATION_ROTATE270</unmanaged> /// <unmanaged>DXGI_MODE_ROTATION_ROTATE270</unmanaged>
Rotate270 = 4, Rotate270 = 4,
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_ALPHA_MODE"]/*' />
/// <unmanaged>DXGI_ALPHA_MODE</unmanaged> /// <unmanaged>DXGI_ALPHA_MODE</unmanaged>
public enum AlphaMode : uint public enum AlphaMode : uint
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_ALPHA_MODE::DXGI_ALPHA_MODE_UNSPECIFIED"]/*' />
/// <unmanaged>DXGI_ALPHA_MODE_UNSPECIFIED</unmanaged> /// <unmanaged>DXGI_ALPHA_MODE_UNSPECIFIED</unmanaged>
Unspecified = 0, Unspecified = 0,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_ALPHA_MODE::DXGI_ALPHA_MODE_PREMULTIPLIED"]/*' />
/// <unmanaged>DXGI_ALPHA_MODE_PREMULTIPLIED</unmanaged> /// <unmanaged>DXGI_ALPHA_MODE_PREMULTIPLIED</unmanaged>
Premultiplied = 1, Premultiplied = 1,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_ALPHA_MODE::DXGI_ALPHA_MODE_STRAIGHT"]/*' />
/// <unmanaged>DXGI_ALPHA_MODE_STRAIGHT</unmanaged> /// <unmanaged>DXGI_ALPHA_MODE_STRAIGHT</unmanaged>
Straight = 2, Straight = 2,
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_ALPHA_MODE::DXGI_ALPHA_MODE_IGNORE"]/*' />
/// <unmanaged>DXGI_ALPHA_MODE_IGNORE</unmanaged> /// <unmanaged>DXGI_ALPHA_MODE_IGNORE</unmanaged>
Ignore = 3, Ignore = 3,
} }
@@ -401,33 +570,47 @@ public enum CpuAccess : uint
#endregion Generated Enums #endregion Generated Enums
#region Structs #region Structs
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_RATIONAL"]/*' />
/// <unmanaged>DXGI_RATIONAL</unmanaged> /// <unmanaged>DXGI_RATIONAL</unmanaged>
public partial struct Rational public partial struct Rational
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_RATIONAL::Numerator"]/*' />
public uint Numerator; public uint Numerator;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_RATIONAL::Denominator"]/*' />
public uint Denominator; public uint Denominator;
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_SAMPLE_DESC"]/*' />
/// <unmanaged>DXGI_SAMPLE_DESC</unmanaged> /// <unmanaged>DXGI_SAMPLE_DESC</unmanaged>
public partial struct SampleDescription public partial struct SampleDescription
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_SAMPLE_DESC::Count"]/*' />
public uint Count; public uint Count;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_SAMPLE_DESC::Quality"]/*' />
public uint Quality; public uint Quality;
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_RGB"]/*' />
/// <unmanaged>DXGI_RGB</unmanaged> /// <unmanaged>DXGI_RGB</unmanaged>
public partial struct Rgb public partial struct Rgb
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_RGB::Red"]/*' />
public float Red; public float Red;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_RGB::Green"]/*' />
public float Green; public float Green;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_RGB::Blue"]/*' />
public float Blue; public float Blue;
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL"]/*' />
/// <unmanaged>DXGI_GAMMA_CONTROL</unmanaged> /// <unmanaged>DXGI_GAMMA_CONTROL</unmanaged>
public partial struct GammaControl public partial struct GammaControl
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL::Scale"]/*' />
public Rgb Scale; public Rgb Scale;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL::Offset"]/*' />
public Rgb Offset; public Rgb Offset;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL::GammaCurve"]/*' />
public GammaCurve__FixedBuffer GammaCurve; public GammaCurve__FixedBuffer GammaCurve;
public unsafe struct GammaCurve__FixedBuffer public unsafe struct GammaCurve__FixedBuffer
@@ -1477,44 +1660,65 @@ public partial struct GammaControl
} }
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL_CAPABILITIES"]/*' />
/// <unmanaged>DXGI_GAMMA_CONTROL_CAPABILITIES</unmanaged> /// <unmanaged>DXGI_GAMMA_CONTROL_CAPABILITIES</unmanaged>
public partial struct GammaControlCapabilities public partial struct GammaControlCapabilities
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL_CAPABILITIES::ScaleAndOffsetSupported"]/*' />
public Bool32 ScaleAndOffsetSupported; public Bool32 ScaleAndOffsetSupported;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL_CAPABILITIES::MaxConvertedValue"]/*' />
public float MaxConvertedValue; public float MaxConvertedValue;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL_CAPABILITIES::MinConvertedValue"]/*' />
public float MinConvertedValue; public float MinConvertedValue;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL_CAPABILITIES::NumGammaControlPoints"]/*' />
public uint NumGammaControlPoints; public uint NumGammaControlPoints;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_GAMMA_CONTROL_CAPABILITIES::ControlPointPositions"]/*' />
public unsafe fixed float ControlPointPositions[1025]; public unsafe fixed float ControlPointPositions[1025];
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_DESC"]/*' />
/// <unmanaged>DXGI_MODE_DESC</unmanaged> /// <unmanaged>DXGI_MODE_DESC</unmanaged>
public partial struct ModeDescription public partial struct ModeDescription
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_DESC::Width"]/*' />
public uint Width; public uint Width;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_DESC::Height"]/*' />
public uint Height; public uint Height;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_DESC::RefreshRate"]/*' />
public Rational RefreshRate; public Rational RefreshRate;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_DESC::Format"]/*' />
public Format Format; public Format Format;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_DESC::ScanlineOrdering"]/*' />
public ModeScanlineOrder ScanlineOrdering; public ModeScanlineOrder ScanlineOrdering;
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_MODE_DESC::Scaling"]/*' />
public ModeScaling Scaling; public ModeScaling Scaling;
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_DC_HUFFMAN_TABLE"]/*' />
/// <unmanaged>DXGI_JPEG_DC_HUFFMAN_TABLE</unmanaged> /// <unmanaged>DXGI_JPEG_DC_HUFFMAN_TABLE</unmanaged>
public partial struct JpegDcHuffmanTable public partial struct JpegDcHuffmanTable
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_DC_HUFFMAN_TABLE::CodeCounts"]/*' />
public unsafe fixed byte CodeCounts[12]; public unsafe fixed byte CodeCounts[12];
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_DC_HUFFMAN_TABLE::CodeValues"]/*' />
public unsafe fixed byte CodeValues[12]; public unsafe fixed byte CodeValues[12];
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_AC_HUFFMAN_TABLE"]/*' />
/// <unmanaged>DXGI_JPEG_AC_HUFFMAN_TABLE</unmanaged> /// <unmanaged>DXGI_JPEG_AC_HUFFMAN_TABLE</unmanaged>
public partial struct JpegAcHuffmanTable public partial struct JpegAcHuffmanTable
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_AC_HUFFMAN_TABLE::CodeCounts"]/*' />
public unsafe fixed byte CodeCounts[16]; public unsafe fixed byte CodeCounts[16];
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_AC_HUFFMAN_TABLE::CodeValues"]/*' />
public unsafe fixed byte CodeValues[162]; public unsafe fixed byte CodeValues[162];
} }
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_QUANTIZATION_TABLE"]/*' />
/// <unmanaged>DXGI_JPEG_QUANTIZATION_TABLE</unmanaged> /// <unmanaged>DXGI_JPEG_QUANTIZATION_TABLE</unmanaged>
public partial struct JpegQuantizationTable public partial struct JpegQuantizationTable
{ {
/// <include file='../DXGI.xml' path='doc/member[@name="DXGI_JPEG_QUANTIZATION_TABLE::Elements"]/*' />
public unsafe fixed byte Elements[64]; public unsafe fixed byte Elements[64];
} }

File diff suppressed because it is too large Load Diff

View File

@@ -5,6 +5,7 @@
<Description>Windows API low level bindings.</Description> <Description>Windows API low level bindings.</Description>
<VersionPrefix>1.0.0</VersionPrefix> <VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix Condition="'$(VersionSuffix)' == ''"></VersionSuffix> <VersionSuffix Condition="'$(VersionSuffix)' == ''"></VersionSuffix>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@@ -1,7 +1,8 @@
// 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.Numerics; using Win32.Graphics.Dxgi;
using Win32.Graphics.Dxgi.Common;
namespace ClearScreen; namespace ClearScreen;
@@ -9,6 +10,9 @@ public static unsafe class Program
{ {
public static void Main() public static void Main()
{ {
SampleDescription desc = new(1, 0);
desc.Count
Scaling scaling = Scaling.Stretch;
} }
} }