From 2d3c648aef5442e02a19dd5728a205463dc6ed9c Mon Sep 17 00:00:00 2001 From: Amer Koleci Date: Mon, 5 Sep 2022 10:04:23 +0200 Subject: [PATCH] WIP: Direct3D generation and improvements. --- src/Generator/DocGenerator.cs | 215 + src/Generator/Program.cs | 352 +- src/Vortice.Win32/Generated/D3D11.xml | 12825 ++++++++++++++++ .../Generated/Graphics/Direct3D.cs | 2121 +++ .../Generated/Graphics/Dxgi.Common.cs | 408 +- src/Vortice.Win32/Generated/Graphics/Dxgi.cs | 1812 +-- 6 files changed, 16366 insertions(+), 1367 deletions(-) create mode 100644 src/Generator/DocGenerator.cs create mode 100644 src/Vortice.Win32/Generated/D3D11.xml create mode 100644 src/Vortice.Win32/Generated/Graphics/Direct3D.cs diff --git a/src/Generator/DocGenerator.cs b/src/Generator/DocGenerator.cs new file mode 100644 index 0000000..9731034 --- /dev/null +++ b/src/Generator/DocGenerator.cs @@ -0,0 +1,215 @@ +// Copyright © Amer Koleci and Contributors. +// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information. + +using System.Text; +using System.Text.RegularExpressions; +using System.Xml; +using MessagePack; +using Microsoft.Windows.SDK.Win32Docs; + +namespace Generator; + +public static class DocGenerator +{ + private static readonly Regex MDLink = new(@"\[([A-z0-9<>\\]+)\]\(([^\)]+)\)"); + private static readonly Regex ImgLink = new(@"!\[([A-z0-9<>\\]+)\]\(([^\)]+)\)"); + private static readonly Regex Bold = new(@"\*\*([^ ^\*][^\*^\n]*)\*\*"); + private static readonly Regex Italics = new(@"\*([^ ^\*][^\*^\n]*)\*"); + private static readonly Regex MultilineCode = new(@"```[A-z]*([^`]+)```"); + private static readonly Regex InlineCode = new(@"`([^`]+)`"); + private static readonly Regex Struct = new Regex(@"struct DML_[A-z0-9_]+_OPERATOR_DESC\r\n{[^}]+};", RegexOptions.Multiline); + + public static void Generate(string[] prefixes, string outputPath) + { + using FileStream docsStream = File.OpenRead(@"C:\Users\amerk\.nuget\packages\microsoft.windows.sdk.win32docs\0.1.8-alpha\apidocs.msgpack"); + var data = MessagePackSerializer.Deserialize>(docsStream); + var documentationData = new Dictionary(); + + 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(outputPath, 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(); + } + } + + private static string FormatMd(string value) + { + value = ImgLink.Replace(value, ""); + value = MDLink.Replace(value, "$1"); + value = Bold.Replace(value, "$1"); + value = Italics.Replace(value, "$1"); + value = MultilineCode.Replace(value, "$1"); + value = InlineCode.Replace(value, "$1"); + + value = value.Replace("s", "s"); + value = value.Replace("ns-d3d12video-d3d12_video_process_luma_key\"\"", "\"ns-d3d12video-d3d12_video_process_luma_key\""); + value = value.Replace("&L", "&l"); + + value = value.Replace("& ", "& "); + value = value.Replace(" > ", " > "); + value = value.Replace(" < ", " < "); + value = value.Replace(" >= ", " >= "); + value = value.Replace(" <= ", " <= "); + value = value.Replace("<-", "<-"); + value = value.Replace("->", "->"); + value = value.Replace("\n>", "\n>"); + value = value.Replace("—", "—"); + + return value; + } +} diff --git a/src/Generator/Program.cs b/src/Generator/Program.cs index c6c7e3d..98be557 100644 --- a/src/Generator/Program.cs +++ b/src/Generator/Program.cs @@ -16,7 +16,8 @@ public static class Program private static readonly string[] jsons = new[] { "Graphics.Dxgi.Common.json", - "Graphics.Dxgi.json" + "Graphics.Dxgi.json", + "Graphics.Direct3D.json" }; private static readonly Dictionary s_csNameMappings = new() @@ -59,15 +60,18 @@ public static class Program { "System.Com.IUnknown", "IUnknown" }, + { "Graphics.Gdi.HMONITOR", "IntPtr" }, + { "Graphics.Gdi.HDC", "IntPtr" }, + + { "Graphics.Direct3D.D3DVECTOR", "Vector3" }, + { "Graphics.Direct3D.D3DMATRIX", "Matrix4x4" }, + // TODO: Understand those -> { "Foundation.RECT", "RawRect" }, { "Foundation.RECTL", "RawRect" }, { "Foundation.POINT", "System.Drawing.Point" }, { "Foundation.POINTL", "System.Drawing.Point" }, { "Foundation.SIZE", "System.Drawing.Size" }, - - { "Graphics.Gdi.HMONITOR", "IntPtr" }, - { "Graphics.Gdi.HDC", "IntPtr" }, }; private static readonly Dictionary s_knownTypesPrefixes = new() @@ -100,7 +104,8 @@ public static class Program private static readonly HashSet s_ignoredParts = new(StringComparer.OrdinalIgnoreCase) { - "DXGI" + "DXGI", + "D3D" }; private static readonly HashSet s_preserveCaps = new(StringComparer.OrdinalIgnoreCase) @@ -164,210 +169,12 @@ public static class Program } // 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>(docsStream); - var documentationData = new Dictionary(); - - 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(); - } - + DocGenerator.Generate(new[] { "DXGI" }, Path.Combine(outputPath, "Dxgi.xml")); + //DocGenerator.Generate(new[] { "D3D" }, Path.Combine(outputPath, "Direct3D.xml")); + DocGenerator.Generate(new[] { "D3D11" }, Path.Combine(outputPath, "D3D11.xml")); 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, "$1"); - value = Bold.Replace(value, "$1"); - value = Italics.Replace(value, "$1"); - value = MultilineCode.Replace(value, "$1"); - value = InlineCode.Replace(value, "$1"); - - value = value.Replace("s", "s"); - value = value.Replace("ns-d3d12video-d3d12_video_process_luma_key\"\"", "\"ns-d3d12video-d3d12_video_process_luma_key\""); - value = value.Replace("&L", "&l"); - - value = value.Replace("& ", "& "); - value = value.Replace(" > ", " > "); - value = value.Replace(" < ", " < "); - value = value.Replace(" >= ", " >= "); - value = value.Replace(" <= ", " <= "); - value = value.Replace("<-", "<-"); - value = value.Replace("->", "->"); - value = value.Replace("\n>", "\n>"); - value = value.Replace("—", "—"); - - return value; - } - private static void Generate(ApiData api, string outputPath, string jsonFile) { string[] splits = jsonFile.Split(".", StringSplitOptions.RemoveEmptyEntries); @@ -379,6 +186,7 @@ public static class Program Directory.CreateDirectory(outputFolder); } + string docFile = splits[1]; string fileName = string.Empty; for (int i = 1; i < splits.Length - 1; i++) { @@ -395,7 +203,7 @@ public static class Program using var writer = new CodeWriter( Path.Combine(outputFolder, fileName), $"{folderRoot}.{ns}", - $"DXGI", + docFile, $"Win32.{folderRoot}.{ns}"); GenerateConstants(writer, api); @@ -511,6 +319,11 @@ public static class Program writer.WriteLine($"#region Structs"); foreach (ApiType structType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "struct")) { + if (s_csNameMappings.ContainsKey($"{writer.Api}.{structType.Name}")) + { + continue; + } + GenerateStruct(writer, structType); s_visitedStructs.Add($"{writer.Api}.{structType.Name}"); @@ -730,61 +543,72 @@ public static class Program writer.WriteLine($"/// {comType.Name}"); } - writer.WriteLine($"[Guid(\"{comType.Guid}\")]"); - writer.WriteLine($"[NativeTypeName(\"struct {comType.Name} : {comType.Interface.Name}\")]"); - writer.WriteLine($"[NativeInheritance(\"{comType.Interface.Name}\")]"); + if (comType.Guid != null) + { + writer.WriteLine($"[Guid(\"{comType.Guid}\")]"); + } + + if (comType.Interface != null) + { + writer.WriteLine($"[NativeTypeName(\"struct {comType.Name} : {comType.Interface.Name}\")]"); + writer.WriteLine($"[NativeInheritance(\"{comType.Interface.Name}\")]"); + } + using (writer.PushBlock($"public unsafe partial struct {csTypeName} : {csTypeName}.Interface")) { - // Generate IID - using (writer.PushBlock($"public static ref readonly Guid IID_{csTypeName}")) + if (comType.Guid != null) { - writer.WriteLine("[MethodImpl(MethodImplOptions.AggressiveInlining)]"); - using (writer.PushBlock("get")) + // Generate IID + using (writer.PushBlock($"public static ref readonly Guid IID_{csTypeName}")) { - var guid = Guid.Parse(comType.Guid).ToString("N"); - var _1 = "0x" + guid.Substring(6, 2).ToUpperInvariant(); - var _2 = "0x" + guid.Substring(4, 2).ToUpperInvariant(); - var _3 = "0x" + guid.Substring(2, 2).ToUpperInvariant(); - var _4 = "0x" + guid.Substring(0, 2).ToUpperInvariant(); + writer.WriteLine("[MethodImpl(MethodImplOptions.AggressiveInlining)]"); + using (writer.PushBlock("get")) + { + var guid = Guid.Parse(comType.Guid).ToString("N"); + var _1 = "0x" + guid.Substring(6, 2).ToUpperInvariant(); + var _2 = "0x" + guid.Substring(4, 2).ToUpperInvariant(); + var _3 = "0x" + guid.Substring(2, 2).ToUpperInvariant(); + var _4 = "0x" + guid.Substring(0, 2).ToUpperInvariant(); - var _5 = "0x" + guid.Substring(10, 2).ToUpperInvariant(); - var _6 = "0x" + guid.Substring(8, 2).ToUpperInvariant(); + var _5 = "0x" + guid.Substring(10, 2).ToUpperInvariant(); + var _6 = "0x" + guid.Substring(8, 2).ToUpperInvariant(); - var _7 = "0x" + guid.Substring(14, 2).ToUpperInvariant(); - var _8 = "0x" + guid.Substring(12, 2).ToUpperInvariant(); + var _7 = "0x" + guid.Substring(14, 2).ToUpperInvariant(); + var _8 = "0x" + guid.Substring(12, 2).ToUpperInvariant(); - var d = "0x" + guid.Substring(16, 2).ToUpperInvariant(); - var e = "0x" + guid.Substring(18, 2).ToUpperInvariant(); - var f = "0x" + guid.Substring(20, 2).ToUpperInvariant(); - var g = "0x" + guid.Substring(22, 2).ToUpperInvariant(); - var h = "0x" + guid.Substring(24, 2).ToUpperInvariant(); - var i = "0x" + guid.Substring(26, 2).ToUpperInvariant(); - var j = "0x" + guid.Substring(28, 2).ToUpperInvariant(); - var k = "0x" + guid.Substring(30, 2).ToUpperInvariant(); + var d = "0x" + guid.Substring(16, 2).ToUpperInvariant(); + var e = "0x" + guid.Substring(18, 2).ToUpperInvariant(); + var f = "0x" + guid.Substring(20, 2).ToUpperInvariant(); + var g = "0x" + guid.Substring(22, 2).ToUpperInvariant(); + var h = "0x" + guid.Substring(24, 2).ToUpperInvariant(); + var i = "0x" + guid.Substring(26, 2).ToUpperInvariant(); + var j = "0x" + guid.Substring(28, 2).ToUpperInvariant(); + var k = "0x" + guid.Substring(30, 2).ToUpperInvariant(); - writer.WriteLine("ReadOnlySpan data = new byte[] {"); - writer.WriteLine($"{'\t'}{_1}, {_2}, {_3}, {_4},"); - writer.WriteLine($"{'\t'}{_5}, {_6},"); - writer.WriteLine($"{'\t'}{_7}, {_8},"); - writer.WriteLine($"{'\t'}{d},"); - writer.WriteLine($"{'\t'}{e},"); - writer.WriteLine($"{'\t'}{f},"); - writer.WriteLine($"{'\t'}{g},"); - writer.WriteLine($"{'\t'}{h},"); - writer.WriteLine($"{'\t'}{i},"); - writer.WriteLine($"{'\t'}{j},"); - writer.WriteLine($"{'\t'}{k}"); - writer.WriteLine("};"); - writer.WriteLine(); + writer.WriteLine("ReadOnlySpan data = new byte[] {"); + writer.WriteLine($"{'\t'}{_1}, {_2}, {_3}, {_4},"); + writer.WriteLine($"{'\t'}{_5}, {_6},"); + writer.WriteLine($"{'\t'}{_7}, {_8},"); + writer.WriteLine($"{'\t'}{d},"); + writer.WriteLine($"{'\t'}{e},"); + writer.WriteLine($"{'\t'}{f},"); + writer.WriteLine($"{'\t'}{g},"); + writer.WriteLine($"{'\t'}{h},"); + writer.WriteLine($"{'\t'}{i},"); + writer.WriteLine($"{'\t'}{j},"); + writer.WriteLine($"{'\t'}{k}"); + writer.WriteLine("};"); + writer.WriteLine(); - writer.WriteLine("Debug.Assert(data.Length == Unsafe.SizeOf());"); - writer.WriteLine("return ref Unsafe.As(ref MemoryMarshal.GetReference(data));"); + writer.WriteLine("Debug.Assert(data.Length == Unsafe.SizeOf());"); + writer.WriteLine("return ref Unsafe.As(ref MemoryMarshal.GetReference(data));"); + } } - } - writer.WriteLine(); + writer.WriteLine(); - writer.WriteLine($"public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_{csTypeName}));"); - writer.WriteLine(); + writer.WriteLine($"public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_{csTypeName}));"); + writer.WriteLine(); + } writer.WriteLine($"public void** lpVtbl;"); writer.WriteLine(); @@ -796,6 +620,9 @@ public static class Program while (iterateType != null) { + if (iterateType.Interface == null) + break; + generateIUnknown = iterateType.Interface.Name == "IUnknown"; iterateType = api.Types.FirstOrDefault(item => item.Name == iterateType.Interface.Name); } @@ -848,7 +675,7 @@ public static class Program StringBuilder argumentsNameBuilder = new(); int parameterIndex = 0; - if (method.Name == "SetEvictionPriority") + if (method.Name == "RegisterDestructionCallback") { Console.WriteLine(); } @@ -858,12 +685,17 @@ public static class Program bool asPointer = false; if (parameter.Type.Kind == "ApiRef") { - string fullTypeName = $"{parameter.Type.Api}.{parameter.Type.Name}"; - if (!IsEnum(fullTypeName)) + if (parameter.Type.TargetKind == "FunctionPointer") { - asPointer = true; } - //string typeName = GetTypeName($"{dataType.Api}.{dataType.Name}"); + else + { + string fullTypeName = $"{parameter.Type.Api}.{parameter.Type.Name}"; + if (!IsEnum(fullTypeName)) + { + asPointer = true; + } + } } string parameterType = GetTypeName(parameter.Type, asPointer); @@ -948,7 +780,13 @@ public static class Program vtblIndex++; } - using (writer.PushBlock($"public interface Interface : {comType.Interface.Name}.Interface")) + string baseInterfaceType = string.Empty; + if (comType.Interface != null) + { + baseInterfaceType = $" : {comType.Interface.Name}.Interface"; + } + + using (writer.PushBlock($"public interface Interface{baseInterfaceType}")) { } //writer.WriteLine(); diff --git a/src/Vortice.Win32/Generated/D3D11.xml b/src/Vortice.Win32/Generated/D3D11.xml new file mode 100644 index 0000000..0756f1b --- /dev/null +++ b/src/Vortice.Win32/Generated/D3D11.xml @@ -0,0 +1,12825 @@ + + + + + Gets the content description that was used to create the video processor. + Microsoft Docs: + A pointer to a D3D11_VIDEO_PROCESSOR_CONTENT_DESC structure that receives the content description. + + + + + This interface encapsulates an HLSL dynamic linkage. + Microsoft Docs: + + + + + Describes the shape of a tile by specifying its dimensions. + Microsoft Docs: + + + + The width in texels of the tile. + + + The height in texels of the tile. + + + The depth in texels of the tile. + + + + Describes a 3D texture. + Microsoft Docs: + + + + Texture width (in texels). The range is from 1 to D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture height (in texels). The range is from 1 to D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture depth (in texels). The range is from 1 to D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + The maximum number of mipmap levels in the texture. See the remarks in D3D11_TEX1D_SRV. Use 1 for a multisampled texture; or 0 to generate a full set of subtextures. + + + Texture format (see DXGI_FORMAT). + + + Value that identifies how the texture is to be read from and written to. The most common value is D3D11_USAGE_DEFAULT; see D3D11_USAGE for all possible values. + + + Flags (see D3D11_BIND_FLAG) for binding to pipeline stages. The flags can be combined by a logical OR. + + + Flags (see D3D11_CPU_ACCESS_FLAG) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR. + + + Flags (see D3D11_RESOURCE_MISC_FLAG) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined with a logical OR. + + + + Identify the portion of a depth-stencil buffer for writing depth data. + Microsoft Docs: + + + + Turn off writes to the depth-stencil buffer. + + + Turn on writes to the depth-stencil buffer. + + + + Pop a storage filter from the top of the storage-filter stack. + Microsoft Docs: + + + + + Create a shader-resource view for accessing data in a resource. + Microsoft Docs: + Pointer to the resource that will serve as input to a shader. This resource must have been created with the D3D11_BIND_SHADER_RESOURCE + flag. + Pointer to a shader-resource view description (see D3D11_SHADER_RESOURCE_VIEW_DESC). Set this parameter to NULL to create a + view that accesses the entire resource (using the format the resource was created with). + Address of a pointer to an ID3D11ShaderResourceView. Set this parameter to NULL to validate the + other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Gets a decoder configuration that is supported by the driver. + Microsoft Docs: + A pointer to a D3D11_VIDEO_DECODER_DESC structure that describes the video stream. + The zero-based index of the decoder configuration. To get the number of configurations that the driver supports, call ID3D11VideoDevice::GetVideoDecoderConfigCount. + A pointer to a D3D11_VIDEO_DECODER_CONFIG structure. The method fills in the structure with the decoder configuration. + + + + + Enables or disables an image filter for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + The filter, specified as a D3D11_VIDEO_PROCESSOR_FILTER value. + +To query which filters the driver supports, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps. + Specifies whether to enable the filter. + The filter level. If Enable is FALSE, this parameter is ignored. + +To find the valid range of levels for a specified filter, call ID3D11VideoProcessorEnumerator::GetVideoProcessorFilterRange. + + + + + Describes a compressed buffer for decoding. + Microsoft Docs: + + + + The type of buffer. + + + The offset of the relevant data from the beginning of the buffer, in bytes. This value must be zero. + + + Size of the relevant data. + + + A pointer to a buffer that contains an initialization vector (IV) for encrypted data. If the decode buffer does not contain encrypted data, set this member to NULL. + + + The size of the buffer specified in the pIV parameter. If pIV is NULL, set this member to zero. + + + A pointer to an array of D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK structures, which indicates exactly which bytes in the decode buffer are encrypted and which are in the clear. If the decode buffer does not contain encrypted data, set this member to NULL. + +Values in the sub sample mapping blocks are relative to the start of the decode buffer. + + + The number of D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK structures specified in the pSubSampleMappingBlocks parameter. If pSubSampleMappingBlocks is NULL, set this member to zero. + + + + Creates a shader-resource view for accessing data in a resource. + Microsoft Docs: + Pointer to the resource that will serve as input to a shader. This resource must have been created with the D3D11_BIND_SHADER_RESOURCE flag. + A pointer to a D3D11_SHADER_RESOURCE_VIEW_DESC1 structure that describes a shader-resource view. Set this parameter to NULL to create a + view that accesses the entire resource (using the format the resource was created with). + A pointer to a memory block that receives a pointer to a ID3D11ShaderResourceView1 interface for the created shader-resource view. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Gets an immediate context, which can play back command lists. + Microsoft Docs: + Upon completion of the method, the passed pointer to an ID3D11DeviceContext3 interface pointer is initialized. + + + + + Sets the color space for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + A pointer to a D3D11_VIDEO_PROCESSOR_COLOR_SPACE structure that specifies the color space. + + + + + Sets the target rectangle for the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + Specifies whether to apply the target rectangle. + A pointer to a RECT structure that specifies the target rectangle. If Enable is FALSE, this parameter is ignored. + + + + + Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_PROTECTION command. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_CONFIGURE_INPUT structure that contains the command GUID and other data. + + + A D3D11_AUTHENTICATED_PROTECTION_FLAGS union that specifies the protection level. + + + + Specifies the elements in a buffer resource to use in a shader-resource view. + Microsoft Docs: + + + + Index of the first element to access. + + + The offset of the first element in the view to access, relative to element 0. + + + The total number of elements in the view. + + + The width of each element (in bytes). + This can be determined from the format stored in the shader-resource-view description. + + + + Identifies the texture resource for a video processor input view. + Microsoft Docs: + + + + The zero-based index into the array of subtextures. + + + The zero-based index of the texture. + + + + Binds resources to the output-merger stage. + Microsoft Docs: + Number of render targets to bind (ranges between 0 and D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT). If this parameter is nonzero, the number of entries in the array to which ppRenderTargetViews points must equal the number in this parameter. If you set NumRTVs to D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL (0xffffffff), this method does not modify the currently bound render-target views (RTVs) and also does not modify depth-stencil view (DSV). + Pointer to an array of ID3D11RenderTargetViews that represent the render targets to bind to the device. + If this parameter is NULL and NumRTVs is 0, no render targets are bound. + Pointer to a ID3D11DepthStencilView that represents the depth-stencil view to bind to the device. + If this parameter is NULL, the depth-stencil view is not bound. + Index into a zero-based array to begin setting unordered-access views (ranges from 0 to D3D11_PS_CS_UAV_REGISTER_COUNT - 1). + +For the Direct3D 11.1 runtime, which is available starting with Windows 8, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - 1. D3D11_1_UAV_SLOT_COUNT is defined as 64. + + +For pixel shaders, UAVStartSlot should be equal to the number of render-target views being bound. + Number of unordered-access views (UAVs) in ppUnorderedAccessViews. If you set NumUAVs to D3D11_KEEP_UNORDERED_ACCESS_VIEWS (0xffffffff), this method does not modify the currently bound unordered-access views. + + +For the Direct3D 11.1 runtime, which is available starting with Windows 8, this value can range from 0 to D3D11_1_UAV_SLOT_COUNT - UAVStartSlot. + Pointer to an array of ID3D11UnorderedAccessViews that represent the unordered-access views to bind to the device. + If this parameter is NULL and NumUAVs is 0, no unordered-access views are bound. + An array of append and consume buffer offsets. A value of -1 indicates to keep the current offset. Any other values set the hidden counter + for that appendable and consumable UAV. pUAVInitialCounts is relevant only for UAVs that were created with either + D3D11_BUFFER_UAV_FLAG_APPEND or D3D11_BUFFER_UAV_FLAG_COUNTER specified + when the UAV was created; otherwise, the argument is ignored. + + + + + Invalidate the pointer to a resource and reenable the GPU's access to that resource. + Microsoft Docs: + A pointer to a ID3D11Resource interface. + A subresource to be unmapped. + + + + + Indicates whether the video decoder supports downsampling with the specified input format, and whether real-time downsampling is supported. + Microsoft Docs: + An object describing the decoding profile, the resolution, and format of the input stream. This is the resolution and format to be downsampled. + A DXGI_COLOR_SPACE_TYPE value that specifies the colorspace of the reference frame data. + The configuration data associated with the decode profile. + The frame rate of the video content. This is used by the driver to determine whether the video can be decoded in real-time. + An object describing the resolution, format, and colorspace of the output frames. This is the destination resolution and format of the downsample operation. + Pointer to a boolean value set by the driver that indicates if downsampling is supported with the specified input data. True if the driver supports the requested downsampling; otherwise, false. + Pointer to a boolean value set by the driver that indicates if real-time decoding is supported with the specified input data. True if the driver supports the requested real-time decoding; otherwise, false. Note that the returned value is based on the current configuration of the video decoder and does not guarantee that real-time decoding will be supported for future downsampling operations. + + + + + Describes a video sample. + Microsoft Docs: + + + + The width of the video sample. + + + The height of the video sample. + + + The format of the video sample. + + + The colorspace of the sample. + + + + Draw indexed, instanced primitives. + Microsoft Docs: + Number of indices read from the index buffer for each instance. + Number of instances to draw. + The location of the first index read by the GPU from the index buffer. + A value added to each index before reading a vertex from the vertex buffer. + A value added to each index before reading per-instance data from a vertex buffer. + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A D3D11_AUTHENTICATED_CHANNEL_TYPE value that specifies the channel type. + + + + Gets an immediate context, which can play back command lists. + Microsoft Docs: + Upon completion of the method, the passed pointer to an ID3D11DeviceContext2 interface pointer is initialized. + + + + + Specifies the type of I/O bus that is used by the graphics adapter. + Microsoft Docs: + + + + Indicates a type of bus other than the types listed here. + + + PCI bus. + + + PCI-X bus. + + + PCI Express bus. + + + Accelerated Graphics Port (AGP) bus. + + + The implementation for the graphics adapter is in a motherboard chipset's north bridge. This flag implies that data never goes over an expansion bus (such as PCI or AGP) when it is transferred from main memory to the graphics adapter. + + + Indicates that the graphics adapter is connected to a motherboard chipset's north bridge by tracks on the motherboard, and all of the graphics adapter's chips are soldered to the motherboard. This flag implies that data never goes over an expansion bus (such as PCI or AGP) when it is transferred from main memory to the graphics adapter. + + + The graphics adapter is connected to a motherboard chipset's north bridge by tracks on the motherboard, and all of the graphics adapter's chips are connected through sockets to the motherboard. + + + The graphics adapter is connected to the motherboard through a daughterboard connector. + + + The graphics adapter is connected to the motherboard through a daughterboard connector, and the graphics adapter is inside an enclosure that is not user accessible. + + + One of the D3D11_BUS_IMPL_MODIFIER_Xxx flags is set. + + + + Get application-defined data from a device. + Microsoft Docs: + Guid associated with the data. + A pointer to a variable that on input contains the size, in bytes, of the buffer that pData points to, and on output contains the size, in bytes, of the amount of data that GetPrivateData retrieved. + A pointer to a buffer that GetPrivateData fills with data from the device if pDataSize points to a value that specifies a buffer large enough to hold the data. + + + + + Identifies the input surfaces that can be accessed during video processing. + Microsoft Docs: + + + + + Enables or disables automatic processing features on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + If TRUE, automatic processing features are enabled. If FALSE, the driver disables any extra video processing that it might be performing. + + + + + Add a debug message to the message queue and send that message to debug output. + Microsoft Docs: + Category of a message (see D3D11_MESSAGE_CATEGORY). + Severity of a message (see D3D11_MESSAGE_SEVERITY). + Unique identifier of a message (see D3D11_MESSAGE_ID). + User-defined message. + + + + + Set a rendering predicate. + Microsoft Docs: + A pointer to the ID3D11Predicate interface that represents the rendering predicate. A NULL value indicates "no" predication; in this case, the value of PredicateValue is irrelevant but will be preserved for ID3D11DeviceContext::GetPredication. + If TRUE, rendering will be affected by when the predicate's conditions are met. If FALSE, rendering will be affected when the conditions are not met. + + + + + Get the domain-shader resources. + Microsoft Docs: + Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to be returned by the device. + + + + + Performs an extended function for decoding. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoder. + A pointer to a D3D11_VIDEO_DECODER_EXTENSION structure that contains data for the function. + + + + + Get the number of milliseconds to sleep after IDXGISwapChain::Present is called. + Microsoft Docs: + + + + + Get the size of the storage-filter stack in bytes. + Microsoft Docs: + + + + + Specifies the subresources from an array of 1D textures to use in a render-target view. + Microsoft Docs: + + + + The index of the mipmap level to use mip slice. + + + The index of the first texture to use in an array of textures. + + + Number of textures to use. + + + + A module-instance interface is used for resource rebinding. + Microsoft Docs: + + + + + Get the compute-shader resources. + Microsoft Docs: + Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to be returned by the device. + + + + + The ID3D11DeviceContext interface represents a device context which generates rendering commands. + Microsoft Docs: + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_CURRENT_ENCRYPTION_WHEN_ACCESSIBLE query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A GUID that specifies the current encryption type. + + + + Describes a buffer resource. + Microsoft Docs: + + + + Size of the buffer in bytes. + + + Identify how the buffer is expected to be read from and written to. Frequency of update is a key factor. The most common value is typically D3D11_USAGE_DEFAULT; see D3D11_USAGE for all possible values. + + + Identify how the buffer will be bound to the pipeline. Flags (see D3D11_BIND_FLAG) can be combined with a logical OR. + + + CPU access flags (see D3D11_CPU_ACCESS_FLAG) or 0 if no CPU access is necessary. Flags can be combined with a logical OR. + + + Miscellaneous flags (see D3D11_RESOURCE_MISC_FLAG) or 0 if unused. Flags can be combined with a logical OR. + + + The size of each element in the buffer structure (in bytes) when the buffer represents a structured buffer. For more info about structured buffers, see Structured Buffer. + +The size value in StructureByteStride must match the size of the format that you use for views of the buffer. For example, if you use a shader resource view (SRV) to read a buffer in a pixel shader, the SRV format size must match the size value in StructureByteStride. + + + + Sets the source rectangle for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies whether to apply the source rectangle. + A pointer to a RECT structure that specifies the source rectangle. If Enable is FALSE, this parameter is ignored. + + + + + Enumerates the video processor capabilities of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Filtering options during texture sampling. + Microsoft Docs: + + + + Use point sampling for minification, magnification, and mip-level sampling. + + + Use point sampling for minification and magnification; use linear interpolation for mip-level sampling. + + + Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling. + + + Use point sampling for minification; use linear interpolation for magnification and mip-level sampling. + + + Use linear interpolation for minification; use point sampling for magnification and mip-level sampling. + + + Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling. + + + Use linear interpolation for minification and magnification; use point sampling for mip-level sampling. + + + Use linear interpolation for minification, magnification, and mip-level sampling. + + + Use anisotropic interpolation for minification, magnification, and mip-level sampling. + + + Use point sampling for minification, magnification, and mip-level sampling. Compare the result to the comparison value. + + + Use point sampling for minification and magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value. + + + Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling. Compare the result to the comparison value. + + + Use point sampling for minification; use linear interpolation for magnification and mip-level sampling. Compare the result to the comparison value. + + + Use linear interpolation for minification; use point sampling for magnification and mip-level sampling. Compare the result to the comparison value. + + + Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value. + + + Use linear interpolation for minification and magnification; use point sampling for mip-level sampling. Compare the result to the comparison value. + + + Use linear interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value. + + + Use anisotropic interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_MIP_POINT and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_MIP_LINEAR and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_ANISOTROPIC and instead of filtering them return the minimum of the texels. Texels that are weighted 0 during filtering aren't counted towards the minimum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_MIP_POINT and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_MIN_MAG_MIP_LINEAR and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + Fetch the same set of texels as D3D11_FILTER_ANISOTROPIC and instead of filtering them return the maximum of the texels. Texels that are weighted 0 during filtering aren't counted towards the maximum. You can query support for this filter type from the MinMaxFiltering member in the D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure. + + + + Copy a region from a source resource to a destination resource. + Microsoft Docs: + A pointer to the destination resource (see ID3D11Resource). + Destination subresource index. + The x-coordinate of the upper left corner of the destination region. + The y-coordinate of the upper left corner of the destination region. For a 1D subresource, this must be zero. + The z-coordinate of the upper left corner of the destination region. For a 1D or 2D subresource, this must be zero. + A pointer to the source resource (see ID3D11Resource). + Source subresource index. + A pointer to a 3D box (see D3D11_BOX) that defines the source subresource that can be copied. If NULL, the entire source subresource is copied. The box must fit within the source resource. + +An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, CopySubresourceRegion doesn't perform a copy operation. + + + + + Values that specify minimum precision levels at shader stages. + Microsoft Docs: + + + + Minimum precision level is 10-bit. + + + Minimum precision level is 16-bit. + + + + Describes a function. + Microsoft Docs: + + + + The shader version. + + + The name of the originator of the function. + + + A combination of D3DCOMPILE Constants that are combined by using a bitwise OR operation. The resulting value specifies shader compilation and parsing. + + + The number of constant buffers for the function. + + + The number of bound resources for the function. + + + The number of emitted instructions for the function. + + + The number of temporary registers used by the function. + + + The number of temporary arrays used by the function. + + + The number of constant defines for the function. + + + The number of declarations (input + output) for the function. + + + The number of non-categorized texture instructions for the function. + + + The number of texture load instructions for the function. + + + The number of texture comparison instructions for the function. + + + The number of texture bias instructions for the function. + + + The number of texture gradient instructions for the function. + + + The number of floating point arithmetic instructions used by the function. + + + The number of signed integer arithmetic instructions used by the function. + + + The number of unsigned integer arithmetic instructions used by the function. + + + The number of static flow control instructions used by the function. + + + The number of dynamic flow control instructions used by the function. + + + The number of macro instructions used by the function. + + + The number of array instructions used by the function. + + + The number of mov instructions used by the function. + + + The number of movc instructions used by the function. + + + The number of type conversion instructions used by the function. + + + The number of bitwise arithmetic instructions used by the function. + + + A D3D_FEATURE_LEVEL-typed value that specifies the minimum Direct3D feature level target of the function byte code. + + + A value that contains a combination of one or more shader requirements flags; each flag specifies a requirement of the shader. A default value of 0 means there are no requirements. For a list of values, see ID3D11ShaderReflection::GetRequiresFlags. + + + The name of the function. + + + The number of logical parameters in the function signature, not including the return value. + + + Indicates whether the function returns a value. TRUE indicates it returns a value; otherwise, FALSE (it is a subroutine). + + + Indicates whether there is a Direct3D 10Level9 vertex shader blob. TRUE indicates there is a 10Level9 vertex shader blob; otherwise, FALSE. + + + Indicates whether there is a Direct3D 10Level9 pixel shader blob. TRUE indicates there is a 10Level9 pixel shader blob; otherwise, FALSE. + + + + Gets a handle to the authenticated channel. + Microsoft Docs: + Receives a handle to the channel. + + + + + Gets the number of Movc instructions. + Microsoft Docs: + + + + + A 3D texture interface accesses texel data, which is structured memory. + Microsoft Docs: + + + + + Contains input data for a D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_INPUT structure that contains the GUID for the query and other data. + + + The index of the encryption GUID. + + + + Represents key exchange output data for hardware content protection. + Microsoft Docs: + + + + The size of the private data reserved for IHV usage. This size is determined from the pPrivateOutputSize parameter returned by the ID3D11VideoDevice1::GetCryptoSessionPrivateDataSize function. + + + The maximum size of data that the driver can return in the output buffer. The last byte that it can write to is pbOuput[PrivateDataSize + MaxHWProtectionDataSize – 1]. + + + The size of the output data written by the driver. + + + The number of 100 nanosecond units spent transporting the data. + + + The number of 100 nanosecond units spent executing the content protection command. + + + If PrivateDataSize is greater than 0, pbInput[0] – pbOutput[PrivateDataSize - 1] is reserved for IHV use. + +pbOutput[PrivateDataSize] – pbOutput[HWProtectionDataSize + PrivateDataSize - 1] contains the input data for the DRM command. The format and size of the DRM command is defined by the DRM specification. + + + + Allows the driver to recommend optimal output downsample parameters from the input parameters. + Microsoft Docs: + A D3D11_VIDEO_DECODER_DESC object describing the decoding profile, the resolution, and format of the input stream. This is the resolution and format to be downsampled. + A DXGI_COLOR_SPACE_TYPE value that specifies the colorspace of the reference frame data. + The configuration data associated with the decode profile. + The frame rate of the video content. This is used by the driver to determine whether the video can be decoded in real-time. + Pointer to a D3D11_VIDEO_SAMPLE_DESC structure that the driver populates with the recommended output buffer parameters for a downsample operation. The driver will attempt to recommend parameters that can support real-time decoding. If it is unable to do so, the driver will recommend values that are as close to the real-time solution as possible. + + + + + Associate an IUnknown-derived interface with this device child and associate that interface with an application-defined guid. + Microsoft Docs: + Guid associated with the interface. + Pointer to an IUnknown-derived interface to be associated with the device child. + + + + + Get the properties of the texture resource. + Microsoft Docs: + Pointer to a resource description (see D3D11_TEXTURE3D_DESC). + + + + + Draw indexed, non-instanced primitives. + Microsoft Docs: + Number of indices to draw. + The location of the first index read by the GPU from the index buffer. + A value added to each index before reading a vertex from the vertex buffer. + + + + + Specifies the subresources from a multisampled 2D texture to use in a shader-resource view. + Microsoft Docs: + + + + Integer of any value. See remarks. + + + + Get the eviction priority of a resource. + Microsoft Docs: + + + + + Creates a deferred context, which can record command lists. + Microsoft Docs: + Reserved for future use. + Pass 0. + Upon completion of the method, the passed pointer to an ID3D11DeviceContext1 interface pointer is initialized. + + + + + Identifies a type of trace register. + Microsoft Docs: + + + + Output NULL register. + + + Input register. + + + Input primitive ID register. + + + Immediate constant buffer. + + + Temporary register. + + + Temporary register that can be indexed. + + + Output register. + + + Output oDepth register. + + + Constant buffer. + + + Immediate32 register. + + + Sampler. + + + Resource. + + + Rasterizer. + + + Output coverage mask. + + + Stream. + + + This pointer. + + + Output control point ID register (this is actually an input; it defines the output that the thread controls). + + + Input fork instance ID register. + + + Input join instance ID register. + + + Input control point register. + + + Output control point register. + + + Input patch constant register. + + + Input domain point register. + + + Unordered-access view. + + + Thread group shared memory. + + + Input thread ID register. + + + Thread group ID register. + + + Input thread ID in-group register. + + + Input coverage mask register. + + + Input thread ID in-group flattened register. + + + Input geometry shader (GS) instance ID register. + + + Output oDepth greater than or equal register. + + + Output oDepth less than or equal register. + + + Immediate64 register. + + + Cycle counter register. + + + Interface pointer. + + + + Writes encrypted data to a protected surface. + Microsoft Docs: + A pointer to the ID3D11CryptoSession interface. + A pointer to the surface that contains the source data. + A pointer to the protected surface where the encrypted data is written. + A pointer to a D3D11_ENCRYPTED_BLOCK_INFO structure, or NULL. + +If the driver supports partially encrypted buffers, pEncryptedBlockInfo indicates which portions of the buffer are encrypted. If the entire surface is encrypted, set this parameter to NULL. + +To check whether the driver supports partially encrypted buffers, call ID3D11VideoDevice::GetContentProtectionCaps and check for the D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION + capabilities flag. If the driver does not support partially encrypted buffers, set this parameter to NULL. + The size of the encrypted content key, in bytes. + A pointer to a buffer that contains a content encryption key, or NULL. To query whether the driver supports the use of content keys, call ID3D11VideoDevice::GetContentProtectionCaps and check for the D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY capabilities flag. + +If the driver supports content keys, use the content key to encrypt the surface. Encrypt the content key using the session key, and place the resulting cipher text in pContentKey. If the driver does not support content keys, use the session key to encrypt the surface and set pContentKey to NULL. + The size of the pIV buffer, in bytes. + A pointer to a buffer that contains the initialization vector (IV). + +For 128-bit AES-CTR encryption, pIV points to a D3D11_AES_CTR_IV structure. The caller allocates the structure and generates the IV. When you generate the first IV, initialize the structure to a random number. For each subsequent IV, simply increment the IV member of the structure, ensuring that the value always increases. This procedure enables the driver to validate that the same IV is never used more than once with the same key pair. + +For other encryption types, a different structure might be used, or the encryption might not use an IV. + + + + + Identifies how to view a buffer resource. + Microsoft Docs: + + + + View the buffer as raw. For more info about raw viewing of buffers, see Raw Views of Buffers. + + + + Get the depth-stencil view. + Microsoft Docs: + Pointer to a depth-stencil-view description (see D3D11_DEPTH_STENCIL_VIEW_DESC). + + + + + Describes an instance of a compute shader to trace. + Microsoft Docs: + + + + The invocation number of the instance of the compute shader. + + + The SV_GroupThreadID to trace. This value identifies indexes of individual threads within a thread group that a compute shader executes in. + + + The SV_GroupID to trace. This value identifies indexes of a thread group that the compute shader executes in. + + + + This method creates D3D11 resources for use with D3D 11on12. + Microsoft Docs: + A pointer to an already-created D3D12 resource or heap. + A D3D11_RESOURCE_FLAGS structure that enables an application to override flags that would be inferred by the resource/heap properties. + The D3D11_RESOURCE_FLAGS structure contains bind flags, misc flags, and CPU access flags. + The use of the resource on input, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. + The use of the resource on output, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. + The globally unique identifier (GUID) for the wrapped resource interface. + The REFIID, or GUID, of the interface to the wrapped resource can be obtained by using the __uuidof() macro. + For example, __uuidof(ID3D12Resource) will get the GUID of the interface to a wrapped resource. + After the method returns, points to the newly created wrapped D3D11 resource or heap. + + + + + Gets the current value of the fence. + Microsoft Docs: + + + + + Rebinds a texture or buffer by name to destination slots. + Microsoft Docs: + The name of the texture or buffer for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + A domain-shader interface manages an executable program (a domain shader) that controls the domain-shader stage. + Microsoft Docs: + + + + + Gives a device access to a shared resource that is referenced by name and that was created on a different device. + Microsoft Docs: + The name of the resource to open. This parameter cannot be NULL. + The requested access rights to the resource. In addition to the generic access rights, DXGI defines the following values: + +
    +
  • DXGI_SHARED_RESOURCE_READ ( 0x80000000L ) - specifies read access to the resource.
  • +
  • DXGI_SHARED_RESOURCE_WRITE ( 1 ) - specifies write access to the resource.
  • +
+You can combine values by using a bitwise OR operation. + The globally unique identifier (GUID) for the resource interface. For more info, see Remarks. + A pointer to a variable that receives a pointer to the interface for the shared resource object to access. +
+
+ + + The depth-stencil-state interface holds a description for depth-stencil state that you can bind to the output-merger stage. + Microsoft Docs: + + + + + Specifies the subresources from an array of 2D textures to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture2D for which ID3D11Device::CreateShaderResourceView creates a view) -1. + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + The index of the first texture to use in an array of textures. + + + Number of textures in the array. + + + + Checks the status of a crypto session. + Microsoft Docs: + Specifies a ID3D11CryptoSession for which status is checked. + A D3D11_CRYPTO_SESSION_STATUS that is populated with the crypto session status upon completion. + + + + + Describes Direct3D 11.2 feature options in the current graphics driver. + Microsoft Docs: + + + + Specifies whether the hardware and driver support tiled resources. The runtime sets this member to a D3D11_TILED_RESOURCES_TIER-typed value that indicates if the hardware and driver support tiled resources and at what tier level. + + + Specifies whether the hardware and driver support the filtering options (D3D11_FILTER) of comparing the result to the minimum or maximum value during texture sampling. The runtime sets this member to TRUE if the hardware and driver support these filtering options. + + + Specifies whether the hardware and driver also support the ID3D11DeviceContext1::ClearView method on depth formats. For info about valid depth formats, see D3D11_DEPTH_STENCIL_VIEW_DESC. + + + Specifies support for creating ID3D11Buffer resources that can be passed to the ID3D11DeviceContext::Map and ID3D11DeviceContext::Unmap methods. This means that the CPUAccessFlags member of the D3D11_BUFFER_DESC structure may be set with the desired D3D11_CPU_ACCESS_FLAG elements when the Usage member of D3D11_BUFFER_DESC is set to D3D11_USAGE_DEFAULT. The runtime sets this member to TRUE if the hardware is capable of at least D3D_FEATURE_LEVEL_11_0 and the graphics device driver supports mappable default buffers. + + + + An unordered-access-view interface represents the parts of a resource the pipeline can access during rendering. + Microsoft Docs: + + + + + Create a pixel shader. + Microsoft Docs: + A pointer to the compiled shader. + Size of the compiled pixel shader. + A pointer to a class linkage interface (see ID3D11ClassLinkage); the value can be NULL. + Address of a pointer to a ID3D11PixelShader interface. If this is NULL, all other parameters will be validated, and if all parameters pass validation this API will return S_FALSE instead of S_OK. + + + + + Gets the parameters that were used to create the decoder. + Microsoft Docs: + A pointer to a D3D11_VIDEO_DECODER_DESC structure that receives a description of the video stream. + A pointer to a D3D11_VIDEO_DECODER_CONFIG structure that receives the decoder configuration. + + + + + Creates a device that represents the display adapter and a swap chain used for rendering. + Microsoft Docs: + A pointer to the video adapter to use when creating a device. Pass NULL to use the default adapter, which is the first adapter enumerated + by IDXGIFactory1::EnumAdapters. + +
Note  Do not mix the use of DXGI 1.0 (IDXGIFactory) and DXGI 1.1 (IDXGIFactory1) in an application. Use IDXGIFactory or IDXGIFactory1, but not both in an application. +
+
 
+ The D3D_DRIVER_TYPE, which represents the driver type to create. + A handle to a DLL that implements a software rasterizer. + If DriverType is D3D_DRIVER_TYPE_SOFTWARE, Software must not be NULL. Get the handle by + calling LoadLibrary, + LoadLibraryEx , + or GetModuleHandle. The value should be non-NULLwhen D3D_DRIVER_TYPE is D3D_DRIVER_TYPE_SOFTWARE and NULL otherwise. + The runtime layers to enable (see D3D11_CREATE_DEVICE_FLAG); + values can be bitwise OR'd together. + A pointer to an array of D3D_FEATURE_LEVELs, which determine the order of feature levels to attempt to create. + If pFeatureLevels is set to NULL, + this function uses the following array of feature levels: + + + + + +{ + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, +}; + + + + +
Note  If the Direct3D 11.1 runtime is present on the computer and pFeatureLevels is set to NULL, this function won't create a D3D_FEATURE_LEVEL_11_1 device. To create a D3D_FEATURE_LEVEL_11_1 device, you must explicitly provide a D3D_FEATURE_LEVEL array that includes D3D_FEATURE_LEVEL_11_1. If you provide a D3D_FEATURE_LEVEL array that contains D3D_FEATURE_LEVEL_11_1 on a computer that doesn't have the Direct3D 11.1 runtime installed, this function immediately fails with E_INVALIDARG. +
+
 
+ The number of elements in pFeatureLevels. + The SDK version; use D3D11_SDK_VERSION. + A pointer to a swap chain description (see DXGI_SWAP_CHAIN_DESC) that contains initialization parameters for the swap chain. + Returns the address of a pointer to the IDXGISwapChain object that represents the swap chain used for rendering. + Returns the address of a pointer to an ID3D11Device object that represents the device created. If this parameter is NULL, no ID3D11Device will be returned'. + Returns a pointer to a D3D_FEATURE_LEVEL, which represents the first element in an array of feature levels supported + by the device. Supply NULL as an input if you don't need to determine which feature level is supported. + Returns the address of a pointer to an ID3D11DeviceContext object that represents the device context. If this parameter is NULL, no ID3D11DeviceContext will be returned. +
+
+ + + Get the number of quality levels available during multisampling. + Microsoft Docs: + The texture format during multisampling. + The number of samples during multisampling. + A combination of D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAGS values that are combined by using a bitwise OR operation. Currently, only D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE is supported. + A pointer to a variable the receives the number of quality levels supported by the adapter. See Remarks. + + + + + Query information about the reliability of a timestamp query. + Microsoft Docs: + + + + How frequently the GPU counter increments in Hz. + + + If this is TRUE, something occurred in between the query's ID3D11DeviceContext::Begin and ID3D11DeviceContext::End calls that caused the timestamp counter to become discontinuous or disjoint, such as unplugging the AC cord on a laptop, overheating, or throttling up/down due to laptop savings events. The timestamp returned by ID3D11DeviceContext::GetData for a timestamp query is only reliable if Disjoint is FALSE. + + + + Sets the hardware protection state. + Microsoft Docs: + Specifies whether to enable hardware protection. + + + + + Describes the elements in a raw buffer resource to use in a shader-resource view. + Microsoft Docs: + + + + The index of the first element to be accessed by the view. + + + The number of elements in the resource. + + + A D3D11_BUFFEREX_SRV_FLAG-typed value that identifies view options for the buffer. Currently, the only option is to identify a raw view of the buffer. For more info about raw viewing of buffers, see Raw Views of Buffers. + + + + Gets the properties of the texture resource. + Microsoft Docs: + A pointer to a D3D11_TEXTURE3D_DESC1 structure that receives the description of the 3D texture. + + + + + Contains flags that describe content-protection capabilities. + Microsoft Docs: + + + + The content protection is implemented in software by the driver. + + + The content protection is implemented in hardware by the GPU. + + + Content protection is always applied to a protected surface, regardless of whether the application explicitly enables protection. + + + The driver can use partially encrypted buffers. If this capability is not present, the entire buffer must be either encrypted or clear. + + + The driver can encrypt data using a separate content key that is encrypted using the session key. + + + The driver can refresh the session key without renegotiating the key. + + + The driver can read back encrypted data from a protected surface. For more information, see ID3D11VideoContext::EncryptionBlt. + + + The driver requires a separate key to read encrypted data from a protected surface. + + + If the encryption type is D3DCRYPTOTYPE_AES128_CTR, the application must use a sequential count in the D3D11_AES_CTR_IV structure. + + + The driver supports encrypted slice data, but does not support any other encrypted data in the compressed buffer. The caller should not encrypt any data within the buffer other than the slice data. + +
Note  The driver should only report this flag for the specific profiles that have this limitation.
+
 
+
+ + The driver can copy encrypted data from one resource to another, decrypting the data as part of the process. + + + The hardware supports the protection of specific resources. This means that: + +
    +
  • The contents of a protected allocation can never be read by the CPU.
  • +
  • The hardware can ensure a protected resource cannot be copied to an unprotected resource.
  • +
+Note  This enumeration value is supported starting with Windows 10.
+
+ + Physical pages of a protected resource can be evicted and potentially paged to disk in low memory conditions without losing the contents of the resource when paged back in. + +Note  This enumeration value is supported starting with Windows 10. + + + The hardware supports an automatic teardown mechanism that could trigger hardware keys or protected content to become lost in some conditions. The application can register to be notified when these events occur. + +Note  This enumeration value is supported starting with Windows 10. + + + The secure environment is tightly coupled with the GPU and an ID3D11CryptoSession should be used for communication between the user mode DRM component and the secure execution environment. + +Note  This enumeration value is supported starting with Windows 10. + + + + Gets the constant buffers that the pixel shader pipeline stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers to be returned by the method. + A pointer to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to NULL if the buffers do not have offsets. + A pointer to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to NULL if it doesn't specify the numbers of constants in each buffer. + + + + + Gets the content description that was used to create this enumerator. + Microsoft Docs: + A pointer to a D3D11_VIDEO_PROCESSOR_CONTENT_DESC structure that receives the content description. + + + + + Flags that describe miscellaneous query behavior. + Microsoft Docs: + + + + Tell the hardware that if it is not yet sure if something is hidden or not to draw it anyway. This is only used with an occlusion predicate. Predication data cannot be returned to your application via ID3D11DeviceContext::GetData when using this flag. + + + + Set a boolean that turns the debug output on or off. + Microsoft Docs: + Disable/Enable the debug output (TRUE to disable or mute the output, FALSE to enable the output). + + + + + Specifies the alpha fill mode for video processing. + Microsoft Docs: + + + + Alpha values inside the target rectangle are set to opaque. + + + Alpha values inside the target rectangle are set to the alpha value specified in the background color. To set the background color, call the ID3D11VideoContext::VideoProcessorSetOutputBackgroundColor method. + + + Existing alpha values remain unchanged in the output surface. + + + Alpha values are taken from an input stream, scaled, and copied to the corresponding destination rectangle for that stream. The input stream is specified in the StreamIndex parameter of the ID3D11VideoContext::VideoProcessorSetOutputAlphaFillMode method. + +If the input stream does not have alpha data, the video processor sets the alpha values in the target rectangle to opaque. If the input stream is disabled or the source rectangle is empty, the alpha values in the target rectangle are not modified. + + + + Gets a pointer to the data contained in a subresource, and denies the GPU access to that subresource. + Microsoft Docs: + A pointer to a ID3D11Resource interface. + Index number of the subresource. + A D3D11_MAP-typed value that specifies the CPU's read and write permissions for a resource. + +Flag that specifies what the CPU does when the GPU is busy. This flag is optional. + A pointer to the D3D11_MAPPED_SUBRESOURCE structure for the mapped subresource. + See the Remarks section regarding NULL pointers. + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A handle to the device. + + + A handle to the cryptographic session. + + + The index of the output ID. + + + An output ID that is associated with the specified device and cryptographic session. + + + + Gets a group of flags that indicates the requirements of a shader. + Microsoft Docs: + + + + + Describes the subresources from an array of 2D textures to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and ( MipLevels (from the original Texture2D for which + ID3D11Device3::CreateShaderResourceView1 + creates a view) - 1). + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + The index of the first texture to use in an array of textures. + + + Number of textures in the array. + + + The index (plane slice number) of the plane to use in an array of textures. + + + + Identifies unordered-access view options for a buffer resource. + Microsoft Docs: + + + + Resource contains raw, unstructured data. Requires the UAV format to be DXGI_FORMAT_R32_TYPELESS. + For more info about raw viewing of buffers, see Raw Views of Buffers. + + + Allow data to be appended to the end of the buffer. D3D11_BUFFER_UAV_FLAG_APPEND flag must also be used for + any view that will be used as a AppendStructuredBuffer or a ConsumeStructuredBuffer. + Requires the UAV format to be DXGI_FORMAT_UNKNOWN. + + + Adds a counter to the unordered-access-view buffer. D3D11_BUFFER_UAV_FLAG_COUNTER can only be used on a UAV that is a + RWStructuredBuffer and it enables the functionality needed for the IncrementCounterand DecrementCounter methods in HLSL. Requires the UAV format to be DXGI_FORMAT_UNKNOWN. + + + + The CPU copies data from memory to a subresource created in non-mappable memory. + Microsoft Docs: + A pointer to the destination resource (see ID3D11Resource). + A zero-based index, that identifies the destination subresource. See D3D11CalcSubresource for more details. + A pointer to a box that defines the portion of the destination subresource to copy the resource data into. Coordinates are in bytes for buffers and in texels for textures. If NULL, the data is written to the destination subresource with no offset. The dimensions of the source must fit the destination (see D3D11_BOX). + +An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, UpdateSubresource doesn't perform an update operation. + A pointer to the source data in memory. + The size of one row of the source data. + The size of one depth slice of source data. + + + + + Gets the properties of the video processor input view. + Microsoft Docs: + A pointer to a D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC structure. The method fills the structure with the view properties. + + + + + Describes the multi-threading features that are supported by the current graphics driver. + Microsoft Docs: + + + + TRUE means resources can be created concurrently on multiple threads while drawing; FALSE means that the presence of coarse synchronization will prevent concurrency. + + + TRUE means command lists are supported by the current driver; FALSE means that the API will emulate deferred contexts and command lists with software. + + + + Which resources are supported for a given format and given device (see ID3D11Device::CheckFormatSupport and ID3D11Device::CheckFeatureSupport). + Microsoft Docs: + + + + Buffer resources supported. + + + Vertex buffers supported. + + + Index buffers supported. + + + Streaming output buffers supported. + + + 1D texture resources supported. + + + 2D texture resources supported. + + + 3D texture resources supported. + + + Cube texture resources supported. + + + The HLSL Load function for texture objects is supported. + + + The HLSL Sample function for texture objects is supported. + +
Note  If the device supports the format as a resource (1D, 2D, 3D, or cube map) but doesn't support this option, the resource can still use the Sample method but must use only the point filtering sampler state to perform the sample.
+
 
+
+ + The HLSL SampleCmp and SampleCmpLevelZero functions for texture objects are supported. + +
Note  Windows 8 and later might provide limited support for these functions on Direct3D feature levels 9_1, 9_2, and 9_3. For more info, see Implementing shadow buffers for Direct3D feature level 9. +
+
 
+
+ + Reserved. + + + Mipmaps are supported. + + + Automatic generation of mipmaps is supported. + + + Render targets are supported. + + + Blend operations supported. + + + Depth stencils supported. + + + CPU locking supported. + + + Multisample antialiasing (MSAA) resolve operations are supported. For more info, see ID3D11DeviceContex::ResolveSubresource. + + + Format can be displayed on screen. + + + Format cannot be cast to another format. + + + Format can be used as a multisampled rendertarget. + + + Format can be used as a multisampled texture and read into a shader with the HLSL load function. + + + Format can be used with the HLSL gather function. This value is available in DirectX 10.1 or higher. + + + Format supports casting when the resource is a back buffer. + + + Format can be used for an unordered access view. + + + Format can be used with the HLSL gather with comparison function. + + + Format can be used with the decoder output. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Format can be used with the video processor output. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Format can be used with the video processor input. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Format can be used with the video encoder. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + + Identifies how to copy a tile. + Microsoft Docs: + + + + Indicates that the GPU isn't currently referencing any of the + portions of destination memory being written. + + + Indicates that the ID3D11DeviceContext2::CopyTiles operation involves copying a linear buffer to a swizzled tiled resource. This means to copy tile data from the +specified buffer location, reading tiles sequentially, +to the specified tile region (in x,y,z order if the region is a box), swizzling to optimal hardware memory layout as needed. +In this ID3D11DeviceContext2::CopyTiles call, you specify the source data with the pBuffer parameter and the destination with the pTiledResource parameter. + + + Indicates that the ID3D11DeviceContext2::CopyTiles operation involves copying a swizzled tiled resource to a linear buffer. This means to copy tile data from the tile region, reading tiles sequentially (in x,y,z order if the region is a box), +to the specified buffer location, deswizzling to linear memory layout as needed. +In this ID3D11DeviceContext2::CopyTiles call, you specify the source data with the pTiledResource parameter and the destination with the pBuffer parameter. + + + + Describes an instance of a pixel shader to trace. + Microsoft Docs: + + + + The invocation number of the instance of the pixel shader. + + + The x-coordinate of the pixel. + + + The y-coordinate of the pixel. + + + A value that describes a mask of pixel samples to trace. If this value specifies any of the masked samples, the trace is activated. The least significant bit (LSB) is sample 0. The non-multisample antialiasing (MSAA) counts as a sample count of 1; therefore, the LSB of SampleMask should be set. If set to zero, the pixel is not traced. However, pixel traces can still be enabled on an invocation basis. + + + + The device context interface represents a device context; it is used to render commands. ID3D11DeviceContext2 adds new methods to those in ID3D11DeviceContext1. + Microsoft Docs: + + + + + Get a bitfield of flags that indicates which debug features are on or off. + Microsoft Docs: + + + + + Represents a fence, an object used for synchronization of the CPU and one or more GPUs. + Microsoft Docs: + + + + + Retrieves the sizes, in units of threads, of the X, Y, and Z dimensions of the shader's thread-group grid. + Microsoft Docs: + A pointer to the size, in threads, of the x-dimension of the thread-group grid. The maximum size is 1024. + A pointer to the size, in threads, of the y-dimension of the thread-group grid. The maximum size is 1024. + A pointer to the size, in threads, of the z-dimension of the thread-group grid. The maximum size is 64. + + + + + Describes depth-stencil state. + Microsoft Docs: + + + + Enable depth testing. + + + Identify a portion of the depth-stencil buffer that can be modified by depth data (see D3D11_DEPTH_WRITE_MASK). + + + A function that compares depth data against existing depth data. The function options are listed in D3D11_COMPARISON_FUNC. + + + Enable stencil testing. + + + Identify a portion of the depth-stencil buffer for reading stencil data. + + + Identify a portion of the depth-stencil buffer for writing stencil data. + + + Identify how to use the results of the depth test and the stencil test for pixels whose surface normal is facing towards the camera (see D3D11_DEPTH_STENCILOP_DESC). + + + Identify how to use the results of the depth test and the stencil test for pixels whose surface normal is facing away from the camera (see D3D11_DEPTH_STENCILOP_DESC). + + + + Create a blend-state object that encapsules blend state for the output-merger stage. + Microsoft Docs: + Pointer to a blend-state description (see D3D11_BLEND_DESC). + Address of a pointer to the blend-state object created (see ID3D11BlendState). + + + + + Gets an immediate context, which can play back command lists. + Microsoft Docs: + Upon completion of the method, the passed pointer to an ID3D11DeviceContext1 interface pointer is initialized. + + + + + Provides data for calls to ID3D11VideoDevice2::CheckFeatureSupport when the feature specified is D3D11_FEATURE_VIDEO_DECODER_HISTOGRAM. + Microsoft Docs: + + + + A D3D11_VIDEO_DECODER_DESC structure containing the decoder description for the decoder to be used with decode histogram. + + + A bitwise OR combination of values from the D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS enumeration specifying the components of a DXGI_FORMAT for which histogram support will be queried. + + + The number of per component bins supported. This value must be greater than or equal to 64 and must be a power of 2 (e.g. 64, 128, 256, 512...). + + + The bit depth of the bin counter. The counter is always stored in a 32-bit value and therefore this value must specify 32 bits or less. The counter is stored in the lower bits of the 32-bit storage. The upper bits are set to zero. If the bin count exceeds this bit depth, the value is set to the maximum counter value. Valid values for CounterBitDepth are 16, 24, and 32. + + + + Bind an array of shader resources to the pixel shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to set to the device. + + + + + Creates a device that uses Direct3D 11 functionality in Direct3D 12, specifying a pre-existing Direct3D 12 device to use for Direct3D 11 interop. + Microsoft Docs: + Specifies a pre-existing Direct3D 12 device to use for Direct3D 11 interop. May not be NULL. + One or more bitwise OR'd flags from D3D11_CREATE_DEVICE_FLAG. These are the same flags as those used by D3D11CreateDeviceAndSwapChain. Specifies which runtime layers to enable. Flags must be compatible with device flags, and its NodeMask must be a subset of the NodeMask provided to the present API. + An array of any of the following: + +
    +
  • D3D_FEATURE_LEVEL_12_1
  • +
  • D3D_FEATURE_LEVEL_12_0
  • +
  • D3D_FEATURE_LEVEL_11_1
  • +
  • D3D_FEATURE_LEVEL_11_0
  • +
  • D3D_FEATURE_LEVEL_10_1
  • +
  • D3D_FEATURE_LEVEL_10_0
  • +
  • D3D_FEATURE_LEVEL_9_3
  • +
  • D3D_FEATURE_LEVEL_9_2
  • +
  • D3D_FEATURE_LEVEL_9_1
  • +
+ +The first feature level that is less than or equal to the Direct3D 12 device's feature level will be used to perform Direct3D 11 validation. Creation will fail if no acceptable feature levels are provided. Providing NULL will default to the Direct3D 12 device's feature level. + The size of (that is, the number of elements in) the pFeatureLevels array. + An array of unique queues for D3D11On12 to use. The queues must be of the 3D command queue type. + The size of (that is, the number of elements in) the ppCommandQueues array. + Which node of the Direct3D 12 device to use. Only 1 bit may be set. + Pointer to the returned ID3D11Device. May be NULL. + A pointer to the returned ID3D11DeviceContext. May be NULL. + A pointer to the returned feature level. May be NULL. +
+
+ + + Push an empty storage filter onto the storage-filter stack. + Microsoft Docs: + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A handle to the device. + + + + Retrieves information about a register that was read by a step in the trace. + Microsoft Docs: + The index of the step within the trace. The range of the index is [0...NumTraceSteps-1], where NumTraceSteps is a member of the D3D11_TRACE_STATS structure. You can retrieve information in any step order. + The index of the register within the trace step. The range of the index is [0...NumRegistersRead-1], where NumRegistersRead is a member of the D3D11_TRACE_STEP structure. + A pointer to a D3D11_TRACE_REGISTER structure. GetReadRegister fills the members of this structure with information about the register that was read by the step in the trace. + A pointer to a D3D11_TRACE_VALUE structure. GetReadRegister fills the members of this structure with information about the value that was read from the register. + + + + + A 2D texture interface represents texel data, which is structured memory. + Microsoft Docs: + + + + + Get the swap chain that the runtime will use for automatically calling IDXGISwapChain::Present. + Microsoft Docs: + Swap chain that the runtime will use for automatically calling IDXGISwapChain::Present. + + + + + Set all the elements in a render target to one value. + Microsoft Docs: + Pointer to the render target. + A 4-component array that represents the color to fill the render target with. + + + + + Get the domain shader currently set on the device. + Microsoft Docs: + Address of a pointer to a domain shader (see ID3D11DomainShader) to be returned by the method. + Pointer to an array of class instance interfaces (see ID3D11ClassInstance). + The number of class-instance elements in the array. + + + + + Get an array of sampler state interfaces from the compute-shader stage. + Microsoft Docs: + Index into a zero-based array to begin getting samplers from (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). + + + + + Create a rasterizer state object that tells the rasterizer stage how to behave. + Microsoft Docs: + Pointer to a rasterizer state description (see D3D11_RASTERIZER_DESC). + Address of a pointer to the rasterizer state object created (see ID3D11RasterizerState). + + + + + Updates a fence to a specified value after all previous work has completed. + Microsoft Docs: + A pointer to the ID3D11Fence object. + The value to set the fence to. + + + + + Resets the shader-trace object. + Microsoft Docs: + + + + + Get the hull-shader resources. + Microsoft Docs: + Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to be returned by the device. + + + + + Sets the constant buffers used by the domain-shader stage. + Microsoft Docs: + Index into the zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + + + + + Gets the destination rectangle for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives the value TRUE if the destination rectangle is enabled, or FALSE otherwise. + A pointer to a RECT structure that receives the destination rectangle. + + + + + Gets the shader-resource view's description. + Microsoft Docs: + A pointer to a D3D11_SHADER_RESOURCE_VIEW_DESC1 structure that receives the description of the shader-resource view. + + + + + Describes which unordered resource options are supported by the current graphics driver for a given format. + Microsoft Docs: + + + + +DXGI_FORMAT to return information on. + + + Combination of D3D11_FORMAT_SUPPORT2 flags indicating which unordered resource options are supported. + + + + Gets the range of values for an image filter. + Microsoft Docs: + The type of image filter, specified as a D3D11_VIDEO_PROCESSOR_FILTER value. + A pointer to a D3D11_VIDEO_PROCESSOR_FILTER_RANGE structure. The method fills the structure with the range of values for the specified filter. + + + + + Establishes a session key for an authenticated channel. + Microsoft Docs: + A pointer to the ID3D11AuthenticatedChannel interface. This method will fail if the channel type is D3D11_AUTHENTICATED_CHANNEL_D3D11, because the Direct3D11 channel does not support authentication. + The size of the data in the pData array, in bytes. + A pointer to a byte array that contains the encrypted session key. The buffer must contain 256 bytes of data, encrypted using RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP). + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + The number of processes that are allowed to open shared resources that have restricted access. A process cannot open such a resource unless the process has been granted access. + + + + Gets the description for blending state that you used to create the blend-state object. + Microsoft Docs: + A pointer to a D3D11_BLEND_DESC structure that receives a description of the blend state. + + + + + Restore all default settings. + Microsoft Docs: + + + + + A shader-resource-view interface represents the subresources a shader can access during rendering. Examples of shader resources include a constant buffer, a texture buffer, and a texture. + Microsoft Docs: + + + + + Gets the constant buffers that the geometry shader pipeline stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers to be returned by the method. + A pointer to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to NULL if the buffers do not have offsets. + A pointer to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to NULL if it doesn't specify the numbers of constants in each buffer. + + + + + Sets the constant buffers that the compute-shader stage uses. + Microsoft Docs: + Index into the zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants. + An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096]. + + + + + Rebinds a texture or buffer from source slot to destination slot. + Microsoft Docs: + The first source slot number for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + Indicates whether a shader is a sample frequency shader. + Microsoft Docs: + + + + + Gets a constant buffer by index for a function. + Microsoft Docs: + Zero-based index. + + + + + Gets the image filter settings for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + The filter to query, specified as a D3D11_VIDEO_PROCESSOR_FILTER value. + Receives the value TRUE if the image filter is enabled, or FALSE otherwise. + Receives the filter level. + + + + + Gets the properties of the video decoder output view. + Microsoft Docs: + A pointer to a D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC structure. The method fills the structure with the view properties. + + + + + Create a counter object for measuring GPU performance. + Microsoft Docs: + Pointer to a counter description (see D3D11_COUNTER_DESC). + Address of a pointer to a counter (see ID3D11Counter). + + + + + Check to see if the draw pipeline state is valid. + Microsoft Docs: + A pointer to the ID3D11DeviceContext, that represents a device context. + + + + + Retrieves capabilities and limitations of the video decoder. + Microsoft Docs: + The decode profile for which the capabilities are queried. + The video width for which the capabilities are queried. + The video height for which the capabilities are queried. + The frame rate of the video content. This information is used by the driver to determine whether the video can be decoded in real-time. + The bit rate of the video stream. A value of zero indicates that the bit rate can be ignored. + The type of cryptography used to encrypt the video stream. A value of NULL indicates that the video stream is not encrypted. + A pointer to a bitwise OR combination of D3D11_VIDEO_DECODER_CAPS values specifying the decoder capabilities. + + + + + Gets the rate conversion capabilities of the video processor. + Microsoft Docs: + A pointer to a D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS structure that receives the rate conversion capabilities. + + + + + Releases D3D11 resources that were wrapped for D3D 11on12. + Microsoft Docs: + Specifies a pointer to a set of D3D11 resources, defined by ID3D11Resource. + Count of the number of resources. + + + + + Push a storage filter onto the storage-filter stack. + Microsoft Docs: + Pointer to a storage filter (see D3D11_INFO_QUEUE_FILTER). + + + + + Describes double data type support in the current graphics driver. + Microsoft Docs: + + + + Specifies whether double types are allowed. If TRUE, double types are allowed; otherwise FALSE. The runtime must set DoublePrecisionFloatShaderOps to TRUE in order for you to use any HLSL shader that is compiled with a double type. + + + + Gets the pixel aspect ratio for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives the value TRUE if the pixel aspect ratio is specified. Otherwise, receives the value FALSE. + A pointer to a DXGI_RATIONAL structure. If *pEnabled is TRUE, this parameter receives the pixel aspect ratio of the source rectangle. + A pointer to a DXGI_RATIONAL structure. If *pEnabled is TRUE, this parameter receives the pixel aspect ratio of the destination rectangle. + + + + + Set a domain shader to the device. + Microsoft Docs: + Pointer to a domain shader (see ID3D11DomainShader). Passing in NULL disables the shader for this pipeline stage. + A pointer to an array of class-instance interfaces (see ID3D11ClassInstance). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to NULL if the shader does not use any interfaces. + The number of class-instance interfaces in the array. + + + + + Gets the current level of downsampling that is performed by the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + Receives the value TRUE if downsampling was explicitly enabled using the ID3D11VideoContext::VideoProcessorSetOutputConstriction method. Receives the value FALSE if the downsampling was disabled or was never set. + If Enabled receives the value TRUE, this parameter receives the downsampling size. Otherwise, this parameter is ignored. + + + + + Gets a driver-specific state for a video processing stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + A pointer to a GUID that identifies the state. The meaning of this GUID is defined by the graphics driver. + The size of the pData buffer, in bytes. + A pointer to a buffer that receives the private state data. + + + + + Indicates whether the driver supports the specified combination of format and colorspace conversions. + Microsoft Docs: + The format of the video processor input. + The colorspace of the video processor input. + The format of the video processor output. + The colorspace of the video processor output. + Pointer to a boolean that is set by the driver to indicate if the specified combination of format and colorspace conversions is supported. True if the conversion is supported; otherwise, false. + + + + + Specifies the color space for video processing. + Microsoft Docs: + + + + Specifies whether the output is intended for playback or video processing (such as editing or authoring). The device can optimize the processing based on the type. The default state value is 0 (playback). + + + + + + + + + + + + + + + + +
ValueMeaning
+
+
0
+
+
+Playback + +
+
+
1
+
+
+Video processing + +
+
+ + Specifies the RGB color range. The default state value is 0 (full range). + + + + + + + + + + + + + + + + +
ValueMeaning
+
+
0
+
+
+Full range (0-255) + +
+
+
1
+
+
+Limited range (16-235) + +
+
+ + Specifies the YCbCr transfer matrix. The default state value is 0 (BT.601). + + + + + + + + + + + + + + + + +
ValueMeaning
+
+
0
+
+
+ITU-R BT.601 + +
+
+
1
+
+
+ITU-R BT.709 + +
+
+ + Specifies whether the output uses conventional YCbCr or extended YCbCr (xvYCC). The default state value is zero (conventional YCbCr). + + + + + + + + + + + + + + + + +
ValueMeaning
+
+
0
+
+
+Conventional YCbCr + +
+
+
1
+
+
+Extended YCbCr (xvYCC) + +
+
+ + Specifies the D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE. + + + +Introduced in Windows 8.1. + + + Reserved. Set to zero. + + + + Gets the source rectangle for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives the value TRUE if the source rectangle is enabled, or FALSE otherwise. + A pointer to a RECT structure that receives the source rectangle. + + + + + Create a single 3D texture. + Microsoft Docs: + A pointer to a D3D11_TEXTURE3D_DESC structure that describes a 3D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generate mipmap levels automatically, set the number of mipmap levels to 0. + A pointer to an array of D3D11_SUBRESOURCE_DATA structures that describe subresources for the 3D texture resource. Applications cannot specify NULL for pInitialData when creating IMMUTABLE resources (see D3D11_USAGE). If the resource is multisampled, pInitialData must be NULL because multisampled resources cannot be initialized with data when they are created. + +If you don't pass anything to pInitialData, the initial content of the memory for the resource is undefined. In this case, you need to write the resource content some other way before the resource is read. + +You can determine the size of this array from the value in the MipLevels member of the D3D11_TEXTURE3D_DESC structure to which pDesc points. Arrays of 3D volume textures are not supported. + +For more information about this array size, see Remarks. + A pointer to a buffer that receives a pointer to a ID3D11Texture3D interface for the created texture. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Gets the constant buffers that the vertex shader pipeline stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers to be returned by the method. + A pointer to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to NULL if the buffers do not have offsets. + A pointer to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to NULL if it doesn't specify the numbers of constants in each buffer. + + + + + Sets the color-palette entries for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + The number of elements in the pEntries array. + A pointer to an array of palette entries. For RGB streams, the palette entries use the DXGI_FORMAT_B8G8R8A8 representation. For YCbCr streams, the palette entries use the DXGI_FORMAT_AYUV representation. The caller allocates the array. + + + + + Get the pixel shader currently set on the device. + Microsoft Docs: + Address of a pointer to a pixel shader (see ID3D11PixelShader) to be returned by the method. + Pointer to an array of class instance interfaces (see ID3D11ClassInstance). + The number of class-instance elements in the array. + + + + + Get the exception-mode flags. + Microsoft Docs: + A value that contains one or more exception flags; each flag specifies a condition which will cause an exception to be raised. The flags are listed in D3D11_RAISE_FLAG. A default value of 0 means there are no flags. + + + + + Defines the dimensions of a viewport. + Microsoft Docs: + + + + X position of the left hand side of the viewport. Ranges between D3D11_VIEWPORT_BOUNDS_MIN and D3D11_VIEWPORT_BOUNDS_MAX. + + + Y position of the top of the viewport. Ranges between D3D11_VIEWPORT_BOUNDS_MIN and D3D11_VIEWPORT_BOUNDS_MAX. + + + Width of the viewport. + + + Height of the viewport. + + + Minimum depth of the viewport. Ranges between 0 and 1. + + + Maximum depth of the viewport. Ranges between 0 and 1. + + + + Specifies video processing capabilities that relate to deinterlacing, inverse telecine (IVTC), and frame-rate conversion. + Microsoft Docs: + + + + The video processor can perform blend deinterlacing. + + + +In blend deinterlacing, the two fields from an interlaced frame are blended into a single progressive frame. A video processor uses blend deinterlacing when it deinterlaces at half rate, as when converting 60i to 30p. Blend deinterlacing does not require reference frames. + + + The video processor can perform bob deinterlacing. + +In bob deinterlacing, missing field lines are interpolated from the lines above and below. Bob deinterlacing does not require reference frames. + + + The video processor can perform adaptive deinterlacing. + +Adaptive deinterlacing uses spatial or temporal interpolation, and switches between the two on a field-by-field basis, depending on the amount of motion. If the video processor does not receive enough reference frames to perform adaptive deinterlacing, it falls back to bob deinterlacing. + + + The video processor can perform motion-compensated deinterlacing. + + + +Motion-compensated deinterlacing uses motion vectors to recreate missing lines. If the video processor does not receive enough reference frames to perform motion-compensated deinterlacing, it falls back to bob deinterlacing. + + + The video processor can perform inverse telecine (IVTC). + + + +If the video processor supports this capability, the ITelecineCaps member of the D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS structure specifies which IVTC modes are supported. + + + The video processor can convert the frame rate by interpolating frames. + + + + Get a shader-reflection-variable type. + Microsoft Docs: + Zero-based index. + + + + + Acquires D3D11 resources for use with D3D 11on12. Indicates that rendering to the wrapped resources can begin again. + Microsoft Docs: + Specifies a pointer to a set of D3D11 resources, defined by ID3D11Resource. + Count of the number of resources. + + + + + Defines video processing capabilities for a Microsoft Direct3D 11 video processor. + Microsoft Docs: + + + + The video processor can blend video content in linear color space. Most video content is gamma corrected, resulting in nonlinear values. This capability flag means that the video processor converts colors to linear space before blending, which produces better results. + + + The video processor supports the xvYCC color space for YCbCr data. + + + The video processor can perform range conversion when the input and output are both RGB but use different color ranges (0-255 or 16-235, for 8-bit RGB). + + + The video processor can apply a matrix conversion to YCbCr values when the input and output are both YCbCr. For example, the driver can convert colors from BT.601 to BT.709. + + + The video processor supports YUV nominal range . + +Supported in Windows 8.1 and later. + + + + Stencil operations that can be performed based on the results of stencil test. + Microsoft Docs: + + + + The stencil operation to perform when stencil testing fails. + + + The stencil operation to perform when stencil testing passes and depth testing fails. + + + The stencil operation to perform when stencil testing and depth testing both pass. + + + A function that compares stencil data against existing stencil data. The function options are listed in D3D11_COMPARISON_FUNC. + + + + An input-layout interface holds a definition of how to feed vertex data that is laid out in memory into the input-assembler stage of the graphics pipeline. + Microsoft Docs: + + + + + Specifies the type of process that is identified in the D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT structure. + Microsoft Docs: + + + + Unknown process type. + + + Desktop Window Manager (DWM) process. + + + Handle to a process. + + + + Get a shader-variable description. + Microsoft Docs: + A pointer to a shader-variable description (see D3D11_SHADER_VARIABLE_DESC). + + + + + Create an array of 2D textures. + Microsoft Docs: + A pointer to a D3D11_TEXTURE2D_DESC structure that describes a 2D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generate mipmap levels automatically, set the number of mipmap levels to 0. + A pointer to an array of D3D11_SUBRESOURCE_DATA structures that describe subresources for the 2D texture resource. Applications can't specify NULL for pInitialData when creating IMMUTABLE resources (see D3D11_USAGE). If the resource is multisampled, pInitialData must be NULL because multisampled resources cannot be initialized with data when they are created. + +If you don't pass anything to pInitialData, the initial content of the memory for the resource is undefined. In this case, you need to write the resource content some other way before the resource is read. + +You can determine the size of this array from values in the MipLevels and ArraySize members of the D3D11_TEXTURE2D_DESC structure to which pDesc points by using the following calculation: + +MipLevels * ArraySize + +For more information about this array size, see Remarks. + A pointer to a buffer that receives a pointer to a ID3D11Texture2D interface for the created texture. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Specifies the subresources from a resource that are accessible using an unordered-access view. + Microsoft Docs: + + + + The data format (see DXGI_FORMAT). + + + The resource type (see D3D11_UAV_DIMENSION), which specifies how the resource will be accessed. + + + Specifies which buffer elements can be accessed (see D3D11_BUFFER_UAV). + + + Specifies the subresources in a 1D texture that can be accessed (see D3D11_TEX1D_UAV). + + + Specifies the subresources in a 1D texture array that can be accessed (see D3D11_TEX1D_ARRAY_UAV). + + + Specifies the subresources in a 2D texture that can be accessed (see D3D11_TEX2D_UAV). + + + Specifies the subresources in a 2D texture array that can be accessed (see D3D11_TEX2D_ARRAY_UAV). + + + Specifies subresources in a 3D texture that can be accessed (see D3D11_TEX3D_UAV). + + + + Get the properties of a buffer resource. + Microsoft Docs: + Pointer to a resource description (see D3D11_BUFFER_DESC) filled in by the method. + + + + + A render-target-view interface identifies the render-target subresources that can be accessed during rendering. + Microsoft Docs: + + + + + Specifies the subresources from a resource that are accessible using a render-target view. + Microsoft Docs: + + + + The data format (see DXGI_FORMAT). + + + The resource type (see D3D11_RTV_DIMENSION), which specifies how the render-target resource will be accessed. + + + Specifies which buffer elements can be accessed (see D3D11_BUFFER_RTV). + + + Specifies the subresources in a 1D texture that can be accessed (see D3D11_TEX1D_RTV). + + + Specifies the subresources in a 1D texture array that can be accessed (see D3D11_TEX1D_ARRAY_RTV). + + + Specifies the subresources in a 2D texture that can be accessed (see D3D11_TEX2D_RTV). + + + Specifies the subresources in a 2D texture array that can be accessed (see D3D11_TEX2D_ARRAY_RTV). + + + Specifies a single subresource because a multisampled 2D texture only contains one subresource (see D3D11_TEX2DMS_RTV). + + + Specifies the subresources in a multisampled 2D texture array that can be accessed (see D3D11_TEX2DMS_ARRAY_RTV). + + + Specifies subresources in a 3D texture that can be accessed (see D3D11_TEX3D_RTV). + + + + Specifies the subresources from an array of 1D textures to use in a depth-stencil view. + Microsoft Docs: + + + + The index of the first mipmap level to use. + + + The index of the first texture to use in an array of textures. + + + Number of textures to use. + + + + Enter a device's critical section. + Microsoft Docs: + + + + + Identifies whether conservative rasterization is on or off. + Microsoft Docs: + + + + Conservative rasterization is off. + + + Conservative rasterization is on. + + + + Initializes a shader module from the function-linking-graph object. + Microsoft Docs: + The address of a pointer to an ID3D11ModuleInstance interface for the shader module to initialize. + An optional pointer to a variable that receives a pointer to the ID3DBlob interface that you can use to access compiler error messages, or NULL if there are no errors. + + + + + Indicates triangles facing a particular direction are not drawn. + Microsoft Docs: + + + + Always draw all triangles. + + + Do not draw triangles that are front-facing. + + + Do not draw triangles that are back-facing. + + + + Specifies statistics about a trace. + Microsoft Docs: + + + + A D3D11_SHADER_TRACE_DESC structure that describes the shader trace object for which this structure specifies statistics. + + + The number of calls in the stamp for the trace. This value is always 1 for vertex shaders, hull shaders, domain shaders, geometry shaders, and compute shaders. This value is 4 for pixel shaders. + + + The index of the target stamp. This value is always 0 for vertex shaders, hull shaders, domain shaders, geometry shaders, and compute shaders. However, for pixel shaders this value indicates which of the four pixels in the stamp is the target for the trace. You can examine the traces for other pixels in the stamp to determine how derivative calculations occurred. You can make this determination by correlating the registers across traces. + + + The total number of steps for the trace. This number is the same for all stamp calls. + + + The component trace mask for each input v# register. For information about D3D11_TRACE_COMPONENT_MASK, see D3D11_TRACE_VALUE. + +For vertex shaders, geometry shaders, pixel shaders, hull shaders, and domain shaders, the valid range is [0..31]. For compute shaders, this member is not applicable. Also, inputs for geometry shaders are 2D-indexed. For example, consider v[vertex][attribute]. In this example, the range of [attribute] is [0..31]. The [vertex] axis is the same size for all inputs, which are determined by the GSInputPrimitive member. + +Similarly, inputs for hull shader and domain shader are 2D-indexed. For example, consider v[vertex][attribute]. In this example, the range of [attribute] is [0..15]. The [vertex] axis is the same size for all inputs. + + + The component trace mask for each output o# register. For information about D3D11_TRACE_COMPONENT_MASK, see D3D11_TRACE_VALUE. + +For vertex shaders and geometry shaders, the valid range is [0..31]. For pixel shaders, the valid range is [0..7]. For compute shaders, this member is not applicable. For output control points for hull shaders, the registers are 2D-indexed. For example, consider ocp[vertex][attribute]. In this example, the range of [attribute] is [0..31]. The [vertex] axis is the same size for all inputs. + + + The number of temps, that is, 4x32 bit r# registers that are declared. + + + The maximum index #+1 of all indexable temps x#[] that are declared. If they are declared sparsely (for example, x3[12] and x200[30] only), this value is 201 (200+1). + + + The number of temps for each indexable temp x#[numTemps]. You can only have temps up to the value in the MaxIndexableTempIndex member. + + + The number of 4x32 bit values (if any) that are in the immediate constant buffer. + + +
Note  This member is for pixel shaders only, [stampIndex].
+
 
+A mask that indicates which MSAA samples are covered for each stamp. This coverage occurs before alpha-to-coverage, depth, and stencil operations are performed on the pixel. For non-MSAA, examine the least significant bit (LSB). This mask can be 0 for pixels that are only executed to support derivatives for neighboring pixels.
+
+ +
Note  This member is for pixel shaders only, [stampIndex].
+
 
+A mask that indicates discarded samples. If the pixel shader runs at pixel-frequency, "discard" turns off all the samples. If all the samples are off, the following four mask members are also 0.
+
+ +
Note  This member is for pixel shaders only, [stampIndex].
+
 
+A mask that indicates the MSAA samples that are covered. For non-MSAA, examine the LSB.
+
+ +
Note  This member is for pixel shaders only, [stampIndex].
+
 
+A mask that indicates the MSAA samples that are covered after alpha-to-coverage+sampleMask, but before depth and stencil. For non-MSAA, examine the LSB.
+
+ +
Note  This member is for pixel shaders only, [stampIndex].
+
 
+A mask that indicates the MSAA samples that are covered after alpha-to-coverage+sampleMask+depth, but before stencil. For non-MSAA, examine the LSB.
+
+ +
Note  This member is for pixel shaders only, [stampIndex].
+
 
+A mask that indicates the MSAA samples that are covered after alpha-to-coverage+sampleMask+depth+stencil. For non-MSAA, examine the LSB.
+
+ + A value that specifies whether this trace is for a pixel shader that outputs the oDepth register. TRUE indicates that the pixel shader outputs the oDepth register; otherwise, FALSE. + + + A value that specifies whether this trace is for a pixel shader that outputs the oMask register. TRUE indicates that the pixel shader outputs the oMask register; otherwise, FALSE. + + + A D3D11_TRACE_GS_INPUT_PRIMITIVE-typed value that identifies the type of geometry shader input primitive. That is, this value identifies: {point, line, triangle, line_adj, triangle_adj} or the number of vertices: 1, 2, 3, 4, or 6 respectively. For example, for a line, input v[][#] is actually v[2][#]. For vertex shaders and pixel shaders, set this member to D3D11_TRACE_GS_INPUT_PRIMITIVE_UNDEFINED. + + + A value that specifies whether this trace is for a geometry shader that inputs the PrimitiveID register. TRUE indicates that the geometry shader inputs the PrimitiveID register; otherwise, FALSE. + + +
Note  This member is for hull shaders only.
+
 
+The component trace mask for the hull-shader output. For information about D3D11_TRACE_COMPONENT_MASK, see D3D11_TRACE_VALUE. + +The D3D11_TRACE_INPUT_PRIMITIVE_ID_REGISTER value is available through a call to the ID3D11ShaderTrace::GetInitialRegisterContents method.
+
+ +
Note  This member is for domain shaders only.
+
 
+The component trace mask for the domain-shader input. For information about D3D11_TRACE_COMPONENT_MASK, see D3D11_TRACE_VALUE. + +The following values are available through a call to the ID3D11ShaderTrace::GetInitialRegisterContents method: + +
+
+ + + Gets an immediate context, which can play back command lists. + Microsoft Docs: + Upon completion of the method, the passed pointer to an ID3D11DeviceContext interface pointer is initialized. + + + + + Query types. + Microsoft Docs: + + + + Determines whether or not the GPU is finished processing commands. When the GPU is finished processing commands ID3D11DeviceContext::GetData will return S_OK, and pData will point to a BOOL with a value of TRUE. When using this type of query, ID3D11DeviceContext::Begin is disabled. + + + Get the number of samples that passed the depth and stencil tests in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData returns a UINT64. If a depth or stencil test is disabled, then each of those tests will be counted as a pass. + + + Get a timestamp value where ID3D11DeviceContext::GetData returns a UINT64. This kind of query is only useful if two timestamp queries are done in the middle of a D3D11_QUERY_TIMESTAMP_DISJOINT query. The difference of two timestamps can be used to determine how many ticks have elapsed, and the D3D11_QUERY_TIMESTAMP_DISJOINT query will determine if that difference is a reliable value and also has a value that shows how to convert the number of ticks into seconds. See D3D11_QUERY_DATA_TIMESTAMP_DISJOINT. When using this type of query, ID3D11DeviceContext::Begin is disabled. + + + Determines whether or not a D3D11_QUERY_TIMESTAMP is returning reliable values, and also gives the frequency of the processor enabling you to convert the number of elapsed ticks into seconds. ID3D11DeviceContext::GetData will return a D3D11_QUERY_DATA_TIMESTAMP_DISJOINT. This type of query should only be invoked once per frame or less. + + + Get pipeline statistics, such as the number of pixel shader invocations in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData will return a D3D11_QUERY_DATA_PIPELINE_STATISTICS. + + + Similar to D3D11_QUERY_OCCLUSION, except ID3D11DeviceContext::GetData returns a BOOL indicating whether or not any samples passed the depth and stencil tests - TRUE meaning at least one passed, FALSE meaning none passed. + + + Get streaming output statistics, such as the number of primitives streamed out in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData will return a D3D11_QUERY_DATA_SO_STATISTICS structure. + + + Determines whether or not any of the streaming output buffers overflowed in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData returns a BOOL - TRUE meaning there was an overflow, FALSE meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow. + + + Get streaming output statistics for stream 0, such as the number of primitives streamed out in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData will return a D3D11_QUERY_DATA_SO_STATISTICS structure. + + + Determines whether or not the stream 0 output buffers overflowed in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData returns a BOOL - TRUE meaning there was an overflow, FALSE meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow. + + + Get streaming output statistics for stream 1, such as the number of primitives streamed out in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData will return a D3D11_QUERY_DATA_SO_STATISTICS structure. + + + Determines whether or not the stream 1 output buffers overflowed in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData returns a BOOL - TRUE meaning there was an overflow, FALSE meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow. + + + Get streaming output statistics for stream 2, such as the number of primitives streamed out in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData will return a D3D11_QUERY_DATA_SO_STATISTICS structure. + + + Determines whether or not the stream 2 output buffers overflowed in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData returns a BOOL - TRUE meaning there was an overflow, FALSE meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow. + + + Get streaming output statistics for stream 3, such as the number of primitives streamed out in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData will return a D3D11_QUERY_DATA_SO_STATISTICS structure. + + + Determines whether or not the stream 3 output buffers overflowed in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. ID3D11DeviceContext::GetData returns a BOOL - TRUE meaning there was an overflow, FALSE meaning there was not an overflow. If streaming output writes to multiple buffers, and one of the buffers overflows, then it will stop writing to all the output buffers. When an overflow is detected by Direct3D it is prevented from happening - no memory is corrupted. This predication may be used in conjunction with an SO_STATISTICS query so that when an overflow occurs the SO_STATISTIC query will let the application know how much memory was needed to prevent an overflow. + + + + Describes whether a GPU profiling technique is supported. + Microsoft Docs: + + + + Specifies whether the hardware and driver support a GPU profiling technique that can be used with development tools. The runtime sets this member to TRUE if the hardware and driver support data marking. + + + + This interface encapsulates an HLSL class. + Microsoft Docs: + + + + + The device interface represents a virtual adapter; it is used to create resources. + Microsoft Docs: + + + + + Calculates a subresource index for a texture. + Microsoft Docs: + A zero-based index for the mipmap level to address; 0 indicates the first, most detailed mipmap level. + The zero-based index for the array level to address; always use 0 for volume (3D) textures. + Number of mipmap levels in the resource. + + + + + Retrieves information about a register that was written by a step in the trace. + Microsoft Docs: + The index of the step within the trace. The range of the index is [0...NumTraceSteps-1], where NumTraceSteps is a member of the D3D11_TRACE_STATS structure. You can retrieve information in any step order. + The index of the register within the trace step. The range of the index is [0...NumRegistersWritten-1], where NumRegistersWritten is a member of the D3D11_TRACE_STEP structure. + A pointer to a D3D11_TRACE_REGISTER structure. GetWrittenRegister fills the members of this structure with information about the register that was written by the step in the trace. + A pointer to a D3D11_TRACE_VALUE structure. GetWrittenRegister fills the members of this structure with information about the value that was written to the register. + + + + + Describes a shader. + Microsoft Docs: + + + + Shader version. + + + The name of the originator of the shader. + + + Shader compilation/parse flags. + + + The number of shader-constant buffers. + + + The number of resource (textures and buffers) bound to a shader. + + + The number of parameters in the input signature. + + + The number of parameters in the output signature. + + + The number of intermediate-language instructions in the compiled shader. + + + The number of temporary registers in the compiled shader. + + + Number of temporary arrays used. + + + Number of constant defines. + + + Number of declarations (input + output). + + + Number of non-categorized texture instructions. + + + Number of texture load instructions + + + Number of texture comparison instructions + + + Number of texture bias instructions + + + Number of texture gradient instructions. + + + Number of floating point arithmetic instructions used. + + + Number of signed integer arithmetic instructions used. + + + Number of unsigned integer arithmetic instructions used. + + + Number of static flow control instructions used. + + + Number of dynamic flow control instructions used. + + + Number of macro instructions used. + + + Number of array instructions used. + + + Number of cut instructions used. + + + Number of emit instructions used. + + + The D3D_PRIMITIVE_TOPOLOGY-typed value that represents the geometry shader output topology. + + + Geometry shader maximum output vertex count. + + + The D3D_PRIMITIVE-typed value that represents the input primitive for a geometry shader or hull shader. + + + Number of parameters in the patch-constant signature. + + + Number of geometry shader instances. + + + Number of control points in the hull shader and domain shader. + + + The D3D_TESSELLATOR_OUTPUT_PRIMITIVE-typed value that represents the tessellator output-primitive type. + + + The D3D_TESSELLATOR_PARTITIONING-typed value that represents the tessellator partitioning mode. + + + The D3D_TESSELLATOR_DOMAIN-typed value that represents the tessellator domain. + + + Number of barrier instructions in a compute shader. + + + Number of interlocked instructions in a compute shader. + + + Number of texture writes in a compute shader. + + + + Signals the end of a decoding operation. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoder. + + + + + Specifies texture layout options. + Microsoft Docs: + + + + The texture layout is undefined, and is selected by the driver. + + + Data for the texture is stored in row major (sometimes called pitch-linear) order. + + + A default texture uses the standardized swizzle pattern. + + + + Bind an input-layout object to the input-assembler stage. + Microsoft Docs: + A pointer to the input-layout object (see ID3D11InputLayout), which describes the input buffers that will be read by the IA stage. + + + + + Describes a video processor output view. + Microsoft Docs: + + + + The resource type of the view, specified as a member of the D3D11_VPOV_DIMENSION enumeration. + + + A D3D11_TEX2D_VPOV structure that identifies the texture resource for the output view. + +Use this member of the union when ViewDimension equals D3D11_VPOV_DIMENSION_TEXTURE2D. + + + A D3D11_TEX2D_ARRAY_VPOV structure that identifies the texture array for the output view. + +Use this member of the union when ViewDimension equals D3D11_VPOV_DIMENSION_TEXTURE2DARRAY. + + + + Represents a hardware-accelerated video decoder for Microsoft Direct3D 11. + Microsoft Docs: + + + + + Specifies how the CPU should respond when an application calls the ID3D11DeviceContext::Map method on a resource that is being used by the GPU. + Microsoft Docs: + + + + Specifies that ID3D11DeviceContext::Map should return DXGI_ERROR_WAS_STILL_DRAWING when the GPU blocks the CPU from accessing a resource. For more information about this error code, see DXGI_ERROR. + + + + Gets the color space information for the video processor output surface. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + A pointer to a DXGI_COLOR_SPACE_TYPE value that indicates the colorspace for the video processor output surface. + + + + + The rasterizer-state interface holds a description for rasterizer state that you can bind to the rasterizer stage. This rasterizer-state interface supports forced sample count and conservative rasterization mode. + Microsoft Docs: + + + + + Bind an array of shader resources to the vertex-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting shader resources to (range is from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources (range is from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to set to the device. + + + + + Gets a constant buffer by name for a function. + Microsoft Docs: + The constant-buffer name. + + + + + Specifies whether an input stream on the video processor contains interlaced or progressive frames. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + A D3D11_VIDEO_FRAME_FORMAT value that specifies the interlacing. + + + + + Gets values that indicate whether the video processor input stream is being flipped vertically or horizontally. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + An index identifying the input stream. + A pointer to a boolean value indicating whether mirroring is enabled. True if mirroring is enabled; otherwise, false. + A pointer to a boolean value indicating whether the stream is being flipped horizontally. True if the stream is being flipped horizontally; otherwise, false. + A pointer to a boolean value indicating whether the stream is being flipped vertically. True if the stream is being flipped vertically; otherwise, false. + + + + + Adds an instance of a library module to be used for linking. + Microsoft Docs: + A pointer to the ID3D11ModuleInstance interface for the library module instance. + + + + + Get the exception-mode flags. + Microsoft Docs: + + + + + Gets the type of the current HLSL class. + Microsoft Docs: + Type of the current HLSL class. + The length of the pTypeName parameter. + + + + + Specifies a Direct3D 11 video feature or feature set to query about. + Microsoft Docs: + + + + Retrieves the supported components, bin count, and counter bit depth for the a decode histogram with the specified decode profile, resolution, and format. The associated data structure is D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM. + + + + The device context interface represents a device context; it is used to render commands. ID3D11DeviceContext4 adds new methods to those in ID3D11DeviceContext3. + Microsoft Docs: + + + + + Provides the video functionality of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Get the resource that is accessed through this view. + Microsoft Docs: + Address of a pointer to the resource that is accessed through this view. (See ID3D11Resource.) + + + + + Sets private data on the video device and associates that data with a GUID. + Microsoft Docs: + The GUID associated with the data. + The size of the data, in bytes. + A pointer to the data. + + + + + Specifies the subresources from an array of multisampled 2D textures to use in a shader-resource view. + Microsoft Docs: + + + + The index of the first texture to use in an array of textures. + + + Number of textures to use. + + + + Optional flags that control the behavior of ID3D11DeviceContext::GetData. + Microsoft Docs: + + + + Do not flush the command buffer. This can potentially cause an infinite loop if GetData is continually called until it returns S_OK as there may still be commands in the command buffer that need to be processed in order for GetData to return S_OK. Since the commands in the command buffer are not flushed they will not be processed and therefore GetData will never return S_OK. + + + + Reads encrypted data from a protected surface. + Microsoft Docs: + A pointer to the ID3D11CryptoSession interface of the cryptographic session. + A pointer to the ID3D11Texture2D interface of the protected surface. + A pointer to the ID3D11Texture2D interface of the surface that receives the encrypted data. + The size of the pIV buffer, in bytes. + A pointer to a buffer that receives the initialization vector (IV). The caller allocates this buffer, but the driver generates the IV. + +For 128-bit AES-CTR encryption, pIV points to a D3D11_AES_CTR_IV structure. When the driver generates the first IV, it initializes the structure to a random number. For each subsequent IV, the driver simply increments the IV member of the structure, ensuring that the value always increases. The application can validate that the same IV is never used more than once with the same key pair. + + + + + Gets the number of bitwise instructions. + Microsoft Docs: + + + + + Indicates which resource types to track. + Microsoft Docs: + + + + No resource types are tracked. + + + Track device memory that is created with unordered access view (UAV) bind flags. + + + Track device memory that is created without UAV bind flags. + + + Track all device memory. + + + Track all shaders that use group shared memory. + + + Track all device memory except device memory that is created without UAV bind flags. + + + Track all device memory except device memory that is created with UAV bind flags. + + + Track all memory on the device. + + + + Gets the description for sampler state that you used to create the sampler-state object. + Microsoft Docs: + A pointer to a D3D11_SAMPLER_DESC structure that receives a description of the sampler state. + + + + + Get data from the graphics processing unit (GPU) asynchronously. + Microsoft Docs: + A pointer to an ID3D11Asynchronous interface for the object about which GetData retrieves data. + Address of memory that will receive the data. If NULL, GetData will be used only to check status. The type of data output depends on the type of asynchronous interface. + Size of the data to retrieve or 0. Must be 0 when pData is NULL. + Optional flags. Can be 0 or any combination of the flags enumerated by D3D11_ASYNC_GETDATA_FLAG. + + + + + Bind one or more render targets atomically and the depth-stencil buffer to the output-merger stage. + Microsoft Docs: + Number of render targets to bind (ranges between 0 and D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT). If this parameter is nonzero, the number of entries in the array to which ppRenderTargetViews points must equal the number in this parameter. + Pointer to an array of ID3D11RenderTargetView that represent the render targets to bind to the device. + If this parameter is NULL and NumViews is 0, no render targets are bound. + Pointer to a ID3D11DepthStencilView that represents the depth-stencil view to bind to the device. + If this parameter is NULL, the depth-stencil view is not bound. + + + + + Identify which components of each pixel of a render target are writable during blending. + Microsoft Docs: + + + + Allow data to be stored in the red component. + + + Allow data to be stored in the green component. + + + Allow data to be stored in the blue component. + + + Allow data to be stored in the alpha component. + + + Allow data to be stored in all components. + + + + Generates mipmaps for the given shader resource. + Microsoft Docs: + A pointer to an ID3D11ShaderResourceView interface that represents the shader resource. + + + + + Creates a fence object. + Microsoft Docs: + The initial value for the fence. + A combination of D3D11_FENCE_FLAG-typed values that are combined by using a bitwise OR operation. + The resulting value specifies options for the fence. + The globally unique identifier (GUID) for the fence interface (ID3D11Fence). + The REFIID, or GUID, of the interface to the fence can be obtained by using the __uuidof() macro. + For example, __uuidof(ID3D11Fence) will get the GUID of the interface to a fence. + A pointer to a memory block that receives a pointer to the ID3D11Fence interface that is used to access the fence. + + + + + Registers the "device removed" event and indicates when a Direct3D device has become removed for any reason, using an asynchronous notification mechanism. + Microsoft Docs: + The handle to the "device removed" event. + A pointer to information about the "device removed" event, which can be used in UnregisterDeviceRemoved to unregister the event. + + + + + Bind an array of scissor rectangles to the rasterizer stage. + Microsoft Docs: + Number of scissor rectangles to bind. + An array of scissor rectangles (see D3D11_RECT). + + + + + Specifies which bytes in a video surface are encrypted. + Microsoft Docs: + + + + The number of bytes that are encrypted at the start of the buffer. + + + The number of bytes that are skipped after the first NumEncryptedBytesAtBeginning bytes, and then after each block of NumBytesInEncryptPattern bytes. Skipped bytes are not encrypted. + + + The number of bytes that are encrypted after each block of skipped bytes. + + + + Describes a 1D texture. + Microsoft Docs: + + + + Texture width (in texels). The range is from 1 to D3D11_REQ_TEXTURE1D_U_DIMENSION (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + The maximum number of mipmap levels in the texture. See the remarks in D3D11_TEX1D_SRV. Use 1 for a multisampled texture; or 0 to generate a full set of subtextures. + + + Number of textures in the array. The range is from 1 to D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture format (see DXGI_FORMAT). + + + Value that identifies how the texture is to be read from and written to. The most common value is D3D11_USAGE_DEFAULT; see D3D11_USAGE for all possible values. + + + Flags (see D3D11_BIND_FLAG) for binding to pipeline stages. The flags can be combined by a logical OR. For a 1D texture, the allowable values are: D3D11_BIND_SHADER_RESOURCE, D3D11_BIND_RENDER_TARGET and D3D11_BIND_DEPTH_STENCIL. + + + Flags (see D3D11_CPU_ACCESS_FLAG) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR. + + + Flags (see D3D11_RESOURCE_MISC_FLAG) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined with a logical OR. + + + + Enables better interoperability with a component that might be handed a Direct3D 11 device, but which wants to leverage Direct3D 12 instead. + Microsoft Docs: + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID_COUNT query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + The number of encryption GUIDs. + + + + Allow or deny certain types of messages to pass through a filter. + Microsoft Docs: + + + + Number of message categories to allow or deny. + + + Array of message categories to allow or deny. Array must have at least NumCategories members (see D3D11_MESSAGE_CATEGORY). + + + Number of message severity levels to allow or deny. + + + Array of message severity levels to allow or deny. Array must have at least NumSeverities members (see D3D11_MESSAGE_SEVERITY). + + + Number of message IDs to allow or deny. + + + Array of message IDs to allow or deny. Array must have at least NumIDs members (see D3D11_MESSAGE_ID). + + + + Set the maximum number of messages that can be added to the message queue. + Microsoft Docs: + Maximum number of messages that can be added to the message queue. -1 means no limit. + + + + + Gets the rate at which the video processor produces output frames for an input stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives a D3D11_VIDEO_PROCESSOR_OUTPUT_RATE value that specifies the output rate. + Receives a Boolean value that specifies how the driver performs frame-rate conversion, if required. + + + + + + + + + + + + + + + + +
ValueMeaning
+
TRUE
+
+
+Repeat frames. + +
+
FALSE
+
+
+Interpolate frames. + +
+ A pointer to a DXGI_RATIONAL structure. If the output rate is D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM, the method fills in this structure with the exact output rate. Otherwise, this parameter is ignored. +
+
+ + + Get the rasterizer state from the rasterizer stage of the pipeline. + Microsoft Docs: + Address of a pointer to a rasterizer-state interface (see ID3D11RasterizerState) to fill with information from the device. + + + + + Represents a video processor for Microsoft Direct3D 11. + Microsoft Docs: + + + + + Set the target output buffers for the stream-output stage of the pipeline. + Microsoft Docs: + The number of buffer to bind to the device. A maximum of four output buffers can be set. If less than four are defined by the call, the remaining buffer slots are set to NULL. See Remarks. + The array of output buffers (see ID3D11Buffer) to bind to the device. The buffers must have been created with the D3D11_BIND_STREAM_OUTPUT flag. + Array of offsets to the output buffers from ppSOTargets, one offset for each buffer. The offset values must be in bytes. + + + + + Gets the ID3D11ClassLinkage object associated with the current HLSL class. + Microsoft Docs: + A pointer to a ID3D11ClassLinkage interface pointer. + + + + + Used with ID3D11On12Device::CreateWrappedResourceto override flags that would be inferred by the resource properties or heap properties, including bind flags, misc flags, and CPU access flags. + Microsoft Docs: + + + + Bind flags must be either completely inferred, or completely specified, to allow the graphics driver to scope a general D3D12 resource to something that D3D11 can understand. + + +If a bind flag is specified which is not supported by the provided resource, an error will be returned. + + +The following bind flags (D3D11_BIND_FLAG enumeration constants) will not be assumed, and must be specified in order for a resource to be used in such a fashion: + + +
    +
  • D3D11_BIND_VERTEX_BUFFER +
  • +
  • D3D11_BIND_INDEX_BUFFER +
  • +
  • D3D11_BIND_CONSTANT_BUFFER +
  • +
  • D3D11_BIND_STREAM_OUTPUT +
  • +
  • D3D11_BIND_DECODER +
  • +
  • D3D11_BIND_VIDEO_ENCODER +
  • +
+The following bind flags will be assumed based on the presence of the corresponding D3D12 resource flag, and can be removed by specifying bind flags: + + +
    +
  • D3D11_BIND_SHADER_RESOURCE, as long as D3D12_RESOURCE_MISC_DENY_SHADER_RESOURCE is not present +
  • +
  • D3D11_BIND_RENDER_TARGET, if D3D12_RESOURCE_MISC_ALLOW_RENDER_TARGET is present +
  • +
  • D3D11_BIND_DEPTH_STENCIL, if D3D12_RESOURCE_MISC_ALLOW_DEPTH_STENCIL is present +
  • +
  • D3D11_BIND_UNORDERED_ACCESS, if D3D12_RESOURCE_MISC_ALLOW_UNORDERED_ACCESS is present
  • +
+A render target or UAV buffer can be wrapped without overriding flags; but a VB/IB/CB/SO buffer must have bind flags manually specified, since these are mutually exclusive in Direct3D 11.
+
+ + If misc flags are nonzero, then any specified flags will be OR’d into the final resource desc with inferred flags. + Misc flags can be partially specified in order to add functionality, but misc flags which are implied cannot be masked out. + + +The following misc flags (D3D11_RESOURCE_MISC_FLAG enumeration constants) will not be assumed: + + +
    +
  • D3D11_RESOURCE_MISC_GENERATE_MIPS (conflicts with CLAMP). +
  • +
  • D3D11_RESOURCE_MISC_TEXTURECUBE (alters default view behavior). +
  • +
  • D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS (exclusive with some bind flags). +
  • +
  • D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS (exclusive with other types of UAVs). +
  • +
  • D3D11_RESOURCE_MISC_BUFFER_STRUCTURED (exclusive with other types of UAVs). +
  • +
  • D3D11_RESOURCE_MISC_RESOURCE_CLAMP (prohibits D3D10 QIs, conflicts with GENERATE_MIPS). +
  • +
  • D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX. It is possible to create a D3D11 keyed mutex resource, create a shared handle for it, and open it via 11on12 or D3D11. +
  • +
+The following misc flags will be assumed, and cannot be removed from the produced resource desc. + If one of these is set, and the D3D12 resource does not support it, creation will fail: + + +
    +
  • D3D11_RESOURCE_MISC_SHARED, D3D11_RESOURCE_MISC_SHARED_NTHANDLE, D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE, if appropriate heap misc flags are present. +
  • +
  • D3D11_RESOURCE_MISC_GDI_COMPATIBLE, if D3D12 resource is GDI-compatible. +
  • +
  • D3D11_RESOURCE_MISC_TILED, if D3D12 resource was created via CreateReservedResource. +
  • +
  • D3D11_RESOURCE_MISC_TILE_POOL, if a D3D12 heap was passed in. +
  • +
+The following misc flags are invalid to specify for this API: + + +
    +
  • D3D11_RESOURCE_MISC_RESTRICTED_CONTENT, since D3D12 only supports hardware protection. +
  • +
  • D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER does not exist in 12, and cannot be added in after resource creation. +
  • +
  • D3D11_RESOURCE_MISC_GUARDED is only meant to be set by an internal creation mechanism. +
  • +
+
+ + The CPUAccessFlags are not inferred from the D3D12 resource. + This is because all resources are treated as D3D11_USAGE_DEFAULT, so CPUAccessFlags force validation which assumes Map of default buffers or textures. + Wrapped resources do not support Map(DISCARD). + Wrapped resources do not support Map(NO_OVERWRITE), but that can be implemented by mapping the underlying D3D12 resource instead. + Issuing a Map call on a wrapped resource will synchronize with all D3D11 work submitted against that resource, unless the DO_NOT_WAIT flag was used. + + + The size of each element in the buffer structure (in bytes) when the buffer represents a structured buffer. + + + + This shader-reflection interface provides access to a constant buffer. + Microsoft Docs: + + + + + Establishes the session key for a cryptographic session. + Microsoft Docs: + A pointer to the ID3D11CryptoSession interface of the cryptographic session. + The size of the pData byte array, in bytes. + A pointer to a byte array that contains the encrypted session key. + + + + + Retrieves information about the specified step in the trace. + Microsoft Docs: + The index of the step within the trace. The range of the index is [0...NumTraceSteps-1], where NumTraceSteps is a member of the D3D11_TRACE_STATS structure. You can retrieve information about a step in any step order. + A pointer to a D3D11_TRACE_STEP structure. GetStep fills the members of this structure with information about the trace step that is specified by the stepIndex parameter. + + + + + Draw indexed, instanced, GPU-generated primitives. + Microsoft Docs: + A pointer to an ID3D11Buffer, which is a buffer containing the GPU generated primitives. + Offset in pBufferForArgs to the start of the GPU generated primitives. + + + + + Copies a region from a source resource to a destination resource. + Microsoft Docs: + A pointer to the destination resource. + Destination subresource index. + The x-coordinate of the upper-left corner of the destination region. + The y-coordinate of the upper-left corner of the destination region. For a 1D subresource, this must be zero. + The z-coordinate of the upper-left corner of the destination region. For a 1D or 2D subresource, this must be zero. + A pointer to the source resource. + Source subresource index. + A pointer to a 3D box that defines the region of the source subresource that CopySubresourceRegion1 can copy. If NULL, CopySubresourceRegion1 copies the entire source subresource. The box must fit within the source resource. + +An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, CopySubresourceRegion1 doesn't perform a copy operation. + A D3D11_COPY_FLAGS-typed value that specifies how to perform the copy operation. If you specify zero for no copy option, CopySubresourceRegion1 behaves like ID3D11DeviceContext::CopySubresourceRegion. For existing display drivers that can't process these flags, the runtime doesn't use them. + + + + + Set a message category to break on when a message with that category passes through the storage filter. + Microsoft Docs: + Message category to break on (see D3D11_MESSAGE_CATEGORY). + Turns this breaking condition on or off (true for on, false for off). + + + + + Get the vertex shader currently set on the device. + Microsoft Docs: + Address of a pointer to a vertex shader (see ID3D11VertexShader) to be returned by the method. + Pointer to an array of class instance interfaces (see ID3D11ClassInstance). + The number of class-instance elements in the array. + + + + + Get the constant buffers used by the geometry shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers (see ID3D11Buffer) to be returned by the method. + + + + + Unordered resource support options for a compute shader resource (see ID3D11Device::CheckFeatureSupport). + Microsoft Docs: + + + + Format supports atomic add. + + + Format supports atomic bitwise operations. + + + Format supports atomic compare with store or exchange. + + + Format supports atomic exchange. + + + Format supports atomic min and max. + + + Format supports atomic unsigned min and max. + + + Format supports a typed load. + + + Format supports a typed store. + + + Format supports logic operations in blend state. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Format supports tiled resources. + +Direct3D 11:  This value is not supported until Direct3D 11.2. + + + Format supports shareable resources. +
Note  DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UNORM_SRGB are never shareable when using feature level 9, even if the device indicates optional feature support for D3D11_FORMAT_SUPPORT_SHAREABLE. + Attempting to create shared resources with DXGI formats DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UNORM_SRGB will always fail unless the feature level is 10_0 or higher. +
+
 
+ + +Direct3D 11:  This value is not supported until Direct3D 11.2.
+
+ + Format supports multi-plane overlays. + + + + Sets an array of views for an unordered resource. + Microsoft Docs: + Index of the first element in the zero-based array to begin setting (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - 1). D3D11_1_UAV_SLOT_COUNT is defined as 64. + Number of views to set (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - StartSlot). + A pointer to an array of ID3D11UnorderedAccessView pointers to be set by the method. + An array of append and consume buffer offsets. A value of -1 indicates to keep the current offset. Any other values set the hidden counter + for that appendable and consumable UAV. pUAVInitialCounts is only relevant for UAVs that were created with either + D3D11_BUFFER_UAV_FLAG_APPEND or D3D11_BUFFER_UAV_FLAG_COUNTER specified + when the UAV was created; otherwise, the argument is ignored. + + + + + Mark the beginning of a series of commands. + Microsoft Docs: + A pointer to an ID3D11Asynchronous interface. + + + + + Sets the input signature of the function-linking-graph. + Microsoft Docs: + An array of D3D11_PARAMETER_DESC structures for the parameters of the input signature. + The number of input parameters in the pInputParameters array. + A pointer to a variable that receives a pointer to the ID3D11LinkingNode interface that represents the input signature of the function-linking-graph. + + + + + Describes an instance of a geometry shader to trace. + Microsoft Docs: + + + + The invocation number of the instance of the geometry shader. + + + + Description of a vertex element in a vertex buffer in an output slot. + Microsoft Docs: + + + + Zero-based, stream number. + + + Type of output element; possible values include: "POSITION", "NORMAL", or "TEXCOORD0". + Note that if SemanticName is NULL then + ComponentCount can be greater than 4 and the described entry will be a gap in the stream out where no data will be written. + + + Output element's zero-based index. Should be used if, for example, you have more than one texture coordinate stored in each vertex. + + + Which component of the entry to begin writing out to. Valid values are 0 to 3. For example, if you only wish to output to the y and z components + of a position, then StartComponent should be 1 and ComponentCount should be 2. + + + The number of components of the entry to write out to. Valid values are 1 to 4. For example, if you only wish to output to the y and z components + of a position, then StartComponent should be 1 and ComponentCount should be 2. Note that if SemanticName is NULL then + ComponentCount can be greater than 4 and the described entry will be a gap in the stream out where no data will be written. + + + The associated stream output buffer that is bound to the pipeline + (see ID3D11DeviceContext::SOSetTargets). + The valid range for OutputSlot is 0 to 3. + + + + Sets the constant buffers that the hull-shader stage of the pipeline uses. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers being given to the device. + An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants. + An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096]. + + + + + The device context interface represents a device context; it is used to render commands. ID3D11DeviceContext1 adds new methods to those in ID3D11DeviceContext. + Microsoft Docs: + + + + + A buffer interface accesses a buffer resource, which is unstructured memory. Buffers typically store vertex or index data. + Microsoft Docs: + + + + + Creates a deferred context, which can record command lists. + Microsoft Docs: + Reserved for future use. Pass 0. + Upon completion of the method, the passed pointer to an ID3D11DeviceContext3 interface pointer is initialized. + + + + + Describes a shader variable. + Microsoft Docs: + + + + The variable name. + + + Offset from the start of the parent structure to the beginning of the variable. + + + Size of the variable (in bytes). + + + A combination of D3D_SHADER_VARIABLE_FLAGS-typed values that are combined by using a bitwise OR operation. The resulting value identifies shader-variable properties. + + + The default value for initializing the variable. + + + Offset from the start of the variable to the beginning of the texture. + + + The size of the texture, in bytes. + + + Offset from the start of the variable to the beginning of the sampler. + + + The size of the sampler, in bytes. + + + + Specifies how to access a resource that is used in a video processor output view. + Microsoft Docs: + + + + Not a valid value. + + + The resource will be accessed as a 2D texture. + + + The resource will be accessed as an array of 2D textures. + + + + Defines constants that specify TBD. + Microsoft Docs: + + + + Specifies the support available when [D3D11_FEATURE_DATA_D3D11_OPTIONS::ExtendedResourceSharing](./ns-d3d11-d3d11_feature_data_d3d11_options.md) is FALSE. + + + Specifies the support available when [D3D11_FEATURE_DATA_D3D11_OPTIONS::ExtendedResourceSharing](./ns-d3d11-d3d11_feature_data_d3d11_options.md) is TRUE. + + + Specifies the support available when [D3D11_FEATURE_DATA_D3D11_OPTIONS4::ExtendedNV12SharedTextureSupported](../d3d11_4/ns-d3d11_4-d3d11_feature_data_d3d11_options4.md) is TRUE. Also see [Extended NV12 texture support](/windows/win32/direct3d11/direct3d-11-4-features#extended-nv12-texture-support). + + + Specifies that DXGI_FORMAT_R11G11B10_FLOAT supports NT handle sharing. Also see CreateSharedHandle. + + + + Clears the depth-stencil resource. + Microsoft Docs: + Pointer to the depth stencil to be cleared. + Identify the type of data to clear (see D3D11_CLEAR_FLAG). + Clear the depth buffer with this value. This value will be clamped between 0 and 1. + Clear the stencil buffer with this value. + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_PROTECTION query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A D3D11_AUTHENTICATED_PROTECTION_FLAGS union that specifies the protection level. + + + + This interface encapsulates methods for querying information from the GPU. + Microsoft Docs: + Pointer to a query description (see D3D11_QUERY_DESC). + Address of a pointer to the query object created (see ID3D11Query). + + + + + Gets the constant buffers that the domain-shader stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers to be returned by the method. + A pointer to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to NULL if the buffers do not have offsets. + A pointer to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to NULL if it doesn't specify the numbers of constants in each buffer. + + + + + A pixel-shader interface manages an executable program (a pixel shader) that controls the pixel-shader stage. + Microsoft Docs: + + + + + Gets the initialization flags associated with the deferred context that created the command list. + Microsoft Docs: + + + + + Sets the minimum level-of-detail (LOD) for a resource. + Microsoft Docs: + A pointer to an ID3D11Resource that represents the resource. + The level-of-detail, which ranges between 0 and the maximum number of mipmap levels of the resource. For example, the maximum number of mipmap levels of a 1D texture is specified in the MipLevels member of the D3D11_TEXTURE1D_DESC structure. + + + + + Describes the blend state for a render target. + Microsoft Docs: + + + + Enable (or disable) blending. + + + This blend option specifies the operation to perform on the RGB value that the pixel shader outputs. The BlendOp member defines how to combine the SrcBlend and DestBlend operations. + + + This blend option specifies the operation to perform on the current RGB value in the render target. The BlendOp member defines how to combine the SrcBlend and DestBlend operations. + + + This blend operation defines how to combine the SrcBlend and DestBlend operations. + + + This blend option specifies the operation to perform on the alpha value that the pixel shader outputs. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations. + + + This blend option specifies the operation to perform on the current alpha value in the render target. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations. + + + This blend operation defines how to combine the SrcBlendAlpha and DestBlendAlpha operations. + + + A write mask. + + + + Specifies the inverse telecine (IVTC) capabilities of a video processor. + Microsoft Docs: + + + + The video processor can reverse 3:2 pulldown. + + + The video processor can reverse 2:2 pulldown. + + + The video processor can reverse 2:2:2:4 pulldown. + + + The video processor can reverse 2:3:3:2 pulldown. + + + The video processor can reverse 3:2:3:2:2 pulldown. + + + The video processor can reverse 5:5 pulldown. + + + The video processor can reverse 6:4 pulldown. + + + The video processor can reverse 8:7 pulldown. + + + The video processor can reverse 2:2:2:2:2:2:2:2:2:2:2:3 pulldown. + + + The video processor can reverse other telecine modes not listed here. + + + + Specifies the video rotation states. + Microsoft Docs: + + + + The video is not rotated. + + + The video is rotated 90 degrees clockwise. + + + The video is rotated 180 degrees clockwise. + + + The video is rotated 270 degrees clockwise. + + + + Specifies flags that indicate the most efficient methods for performing video processing operations. + Microsoft Docs: + + + + Multi-plane overlay hardware can perform the rotation operation more efficiently than the ID3D11VideoContext::VideoProcessorBlt method. + + + Multi-plane overlay hardware can perform the scaling operation more efficiently than the ID3D11VideoContext::VideoProcessorBlt method. + + + Multi-plane overlay hardware can perform the colorspace conversion operation more efficiently than the ID3D11VideoContext::VideoProcessorBlt method. + + + The video processor output data should be at least triple buffered for optimal performance. + + + + Sets the reference rasterizer's default race-condition tracking options for the specified resource types. + Microsoft Docs: + A D3D11_SHADER_TRACKING_RESOURCE_TYPE-typed value that specifies the type of resource to track. + A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on," otherwise the tracking option is set to "off." + + + + + Describes Direct3D 11.4 feature options in the current graphics driver. + Microsoft Docs: + + + + Specifies a BOOL that determines if NV12 textures can be shared across processes and D3D devices. + + + + Set a message identifier to break on when a message with that identifier passes through the storage filter. + Microsoft Docs: + Message identifier to break on (see D3D11_MESSAGE_ID). + Turns this breaking condition on or off (true for on, false for off). + + + + + Specifies values for the luminance range of YUV data. + Microsoft Docs: + + + + Driver defaults are used, which should be Studio luminance range [16-235], + + + Studio luminance range [16-235] + + + Full luminance range [0-255] + + + + Get the properties of the texture resource. + Microsoft Docs: + Pointer to a resource description (see D3D11_TEXTURE1D_DESC). + + + + + Get application-defined data from a device child. + Microsoft Docs: + Guid associated with the data. + A pointer to a variable that on input contains the size, in bytes, of the buffer that pData points to, and on output contains the size, in bytes, of the amount of data that + GetPrivateDataretrieved. + A pointer to a buffer that + GetPrivateDatafills with data from the device child if pDataSize points to a value that specifies a buffer large enough to hold the data. + + + + + Specifies fence options. + Microsoft Docs: + + + + No options are specified. + + + The fence is shared. + + + The fence is shared with another GPU adapter. + + + + Identifies options for resources. + Microsoft Docs: + + + + Enables MIP map generation by using ID3D11DeviceContext::GenerateMips on a texture resource. The resource must be created with the bind flags that specify that the resource is a render target and a shader resource. + + + Enables resource data sharing between two or more Direct3D devices. The only resources that can be shared are 2D non-mipmapped textures. + + +D3D11_RESOURCE_MISC_SHARED and D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX are mutually exclusive. + + +WARP and REF devices do not support shared resources. + If you try to create a resource with this flag on either a WARP or REF device, the create method will return an E_OUTOFMEMORY error code. + + +
Note  Starting with Windows 8, WARP devices fully support shared resources. +
+
 
+
Note  Starting with Windows 8, we recommend that you enable resource data sharing between two or more Direct3D devices by using a combination of the D3D11_RESOURCE_MISC_SHARED_NTHANDLE and D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flags instead. +
+
 
+
+ + Sets a resource to be a cube texture created from a Texture2DArray that contains 6 textures. + + + Enables instancing of GPU-generated content. + + + Enables a resource as a byte address buffer. + + + Enables a resource as a structured buffer. + + + Enables a resource with MIP map clamping for use with ID3D11DeviceContext::SetResourceMinLOD. + + + Enables the resource to be synchronized by using the IDXGIKeyedMutex::AcquireSync and + IDXGIKeyedMutex::ReleaseSync APIs. + The following Direct3D 11 resource creation APIs, that take D3D11_RESOURCE_MISC_FLAG parameters, have been extended to support the new flag. + + +If you call any of these methods with the D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flag set, the interface returned will support the IDXGIKeyedMutex interface. You can retrieve a pointer to the IDXGIKeyedMutex interface from the resource by using IUnknown::QueryInterface. The IDXGIKeyedMutex interface implements the IDXGIKeyedMutex::AcquireSync and IDXGIKeyedMutex::ReleaseSync APIs to synchronize access to the surface. The device that creates the surface, and any other device that opens the surface by using OpenSharedResource, must call IDXGIKeyedMutex::AcquireSync before they issue any rendering commands to the surface. When those devices finish rendering, they must call IDXGIKeyedMutex::ReleaseSync. + + +D3D11_RESOURCE_MISC_SHARED and D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX are mutually exclusive. + + +WARP and REF devices do not support shared resources. + If you try to create a resource with this flag on either a WARP or REF device, the create method will return an E_OUTOFMEMORY error code. + + +
Note  Starting with Windows 8, WARP devices fully support shared resources. +
+
 
+
+ + Enables a resource compatible with GDI. You must set the D3D11_RESOURCE_MISC_GDI_COMPATIBLE flag on surfaces that you use with GDI. Setting the D3D11_RESOURCE_MISC_GDI_COMPATIBLE flag allows GDI rendering on the surface via IDXGISurface1::GetDC. + + +Consider the following programming tips for using D3D11_RESOURCE_MISC_GDI_COMPATIBLE when you create a texture or use that texture in a swap chain: + +
    +
  • D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX and D3D11_RESOURCE_MISC_GDI_COMPATIBLE are mutually exclusive. Therefore, do not use them together.
  • +
  • D3D11_RESOURCE_MISC_RESOURCE_CLAMP and D3D11_RESOURCE_MISC_GDI_COMPATIBLE are mutually exclusive. Therefore, do not use them together.
  • +
  • You must bind the texture as a render target for the output-merger stage. For example, set the D3D11_BIND_RENDER_TARGET flag in the BindFlags member of the D3D11_TEXTURE2D_DESC structure. +
  • +
  • You must set the maximum number of MIP map levels to 1. For example, set the MipLevels member of the D3D11_TEXTURE2D_DESC structure to 1. +
  • +
  • You must specify that the texture requires read and write access by the GPU. For example, set the Usage member of the D3D11_TEXTURE2D_DESC structure to D3D11_USAGE_DEFAULT. +
  • +
  • +You must set the texture format to one of the following types. + +
      +
    • DXGI_FORMAT_B8G8R8A8_UNORM
    • +
    • DXGI_FORMAT_B8G8R8A8_TYPELESS
    • +
    • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
    • +
    For example, set the Format member of the D3D11_TEXTURE2D_DESC structure to one of these types. +
  • +
  • You cannot use D3D11_RESOURCE_MISC_GDI_COMPATIBLE with multisampling. Therefore, set the Count member of the DXGI_SAMPLE_DESC structure to 1. Then, set the SampleDesc member of the D3D11_TEXTURE2D_DESC structure to this DXGI_SAMPLE_DESC structure. +
  • +
+
+ + Set this flag to enable the use of NT HANDLE values when you create a shared resource. By enabling this flag, you deprecate the use of existing HANDLE values. + +The value specifies a new shared resource type that directs the runtime to use NT HANDLE values for the shared resource. The runtime then must confirm that the shared resource works on all hardware at the specified feature level. + + +Without this flag set, the runtime does not strictly validate shared resource parameters (that is, formats, flags, usage, and so on). When the runtime does not validate shared resource parameters, behavior of much of the Direct3D API might be undefined and might vary from driver to driver. + +Direct3D 11 and earlier:  This value is not supported until Direct3D 11.1. + + + Set this flag to indicate that the resource might contain protected content; therefore, the operating system should use the resource only when the driver and hardware support content protection. If the driver and hardware do not support content protection and you try to create a resource with this flag, the resource creation fails. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Set this flag to indicate that the operating system restricts access to the shared surface. You can use this flag together with the D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER flag and only when you create a shared surface. The process that creates the shared resource can always open the shared resource. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Set this flag to indicate that the driver restricts access to the shared surface. You can use this flag in conjunction with the D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE flag and only when you create a shared surface. The process that creates the shared resource can always open the shared resource. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Set this flag to indicate that the resource is guarded. Such a resource is returned by the IDCompositionSurface::BeginDraw (DirectComposition) and ISurfaceImageSourceNative::BeginDraw (Windows Runtime) APIs. For these APIs, you provide a region of interest (ROI) on a surface to update. This surface isn't compatible with multiple render targets (MRT). + +A guarded resource automatically restricts all writes to the region that is related to one of the preceding APIs. Additionally, the resource enforces access to the ROI with these restrictions: + + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Set this flag to indicate that the resource is a tile pool. + +Direct3D 11:  This value is not supported until Direct3D 11.2. + + + Set this flag to indicate that the resource is a tiled resource. + +Direct3D 11:  This value is not supported until Direct3D 11.2. + + + Set this flag to indicate that the resource should be created such that it will be protected by the hardware. Resource creation will fail if hardware content protection is not supported. + +This flag has the following restrictions: + +
    +
  • This flag cannot be used with the following D3D11_USAGE values:
      +
    • D3D11_USAGE_DYNAMIC
    • +
    • D3D11_USAGE_STAGING
    • +
    +
  • +
  • This flag cannot be used with the following D3D11_BIND_FLAG values.
      +
    • D3D11_BIND_VERTEX_BUFFER
    • +
    • D3D11_BIND_INDEX_BUFFER
    • +
    +
  • +
  • No CPU access flags can be specified.
  • +
+
Note  

Creating a texture using this flag does not automatically guarantee that hardware protection will be enabled for the underlying allocation. Some implementations require that the DRM components are first initialized prior to any guarantees of protection. + +

+
 
+Note  This enumeration value is supported starting with Windows 10.
+
+ + + These flags identify the type of resource that will be viewed as a render target. + Microsoft Docs: + + + + Do not use this value, as it will cause ID3D11Device::CreateRenderTargetView to fail. + + + The resource will be accessed as a buffer. + + + The resource will be accessed as a 1D texture. + + + The resource will be accessed as an array of 1D textures. + + + The resource will be accessed as a 2D texture. + + + The resource will be accessed as an array of 2D textures. + + + The resource will be accessed as a 2D texture with multisampling. + + + The resource will be accessed as an array of 2D textures with multisampling. + + + The resource will be accessed as a 3D texture. + + + + Queues commands from a command list onto a device. + Microsoft Docs: + A pointer to an ID3D11CommandList interface that encapsulates a command list. + A Boolean flag that determines whether the target context state is saved prior to and restored after the execution of a command list. Use TRUE to indicate that the runtime needs to save and restore the state. Use FALSE to indicate that no state shall be saved or restored, which causes the target context to return to its default state after the command list executes. Applications should typically use FALSE unless they will restore the state to be nearly equivalent to the state that the runtime would restore if TRUE were passed. When applications use FALSE, they can avoid unnecessary and inefficient state transitions. + + + + + Contains input data for a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_INPUT structure that contains the GUID for the query and other data. + + + A handle to the device. + + + A handle to the cryptographic session. + + + The index of the output ID. + + + + Copies tiles from buffer to tiled resource or vice versa. + Microsoft Docs: + A pointer to a tiled resource. + A pointer to a D3D11_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the tiled resource. + A pointer to a D3D11_TILE_REGION_SIZE structure that describes the size of the tiled region. + A pointer to an ID3D11Buffer that represents a default, dynamic, or staging buffer. + The offset in bytes into the buffer at pBuffer to start the operation. + A combination of D3D11_TILE_COPY_FLAG-typed values that are combined by using a bitwise OR operation and that identifies how to copy tiles. + + + + + Sets the destination rectangle for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies whether to apply the destination rectangle. + A pointer to a RECT structure that specifies the destination rectangle. If Enable is FALSE, this parameter is ignored. + + + + + Get the pixel shader resources. + Microsoft Docs: + Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to be returned by the device. + + + + + Updates tiles by copying from app memory to the tiled resource. + Microsoft Docs: + A pointer to a tiled resource to update. + A pointer to a D3D11_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the tiled resource. + A pointer to a D3D11_TILE_REGION_SIZE structure that describes the size of the tiled region. + A pointer to memory that contains the source tile data that UpdateTiles uses to update the tiled resource. + A combination of D3D11_TILE_COPY_FLAG-typed values that are combined by using a bitwise OR operation. The only valid value is D3D11_TILE_COPY_NO_OVERWRITE. + The other values aren't meaningful here, though +by definition the D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE value is basically what UpdateTiles does, but sources from app memory. + + + + + Describes the subresources from a resource that are accessible using an unordered-access view. + Microsoft Docs: + + + + A DXGI_FORMAT-typed value that specifies the data format. + + + A D3D11_UAV_DIMENSION-typed value that specifies the resource type of the view. This type is the same as the resource type of the underlying resource. This member also determines which _UAV to use in the union below. + + + A D3D11_BUFFER_UAV structure that specifies which buffer elements can be accessed. + + + A D3D11_TEX1D_UAV structure that specifies the subresources in a 1D texture that can be accessed. + + + A D3D11_TEX1D_ARRAY_UAV structure that specifies the subresources in a 1D texture array that can be accessed. + + + A D3D11_TEX2D_UAV1 structure that specifies the subresources in a 2D texture that can be accessed. + + + A D3D11_TEX2D_ARRAY_UAV1 structure that specifies the subresources in a 2D texture array that can be accessed. + + + A D3D11_TEX3D_UAV structure that specifies subresources in a 3D texture that can be accessed. + + + + Get an input-parameter description for a shader. + Microsoft Docs: + A zero-based parameter index. + A pointer to a shader-input-signature description. See D3D11_SIGNATURE_PARAMETER_DESC. + + + + + Describes the tile structure of a tiled resource with mipmaps. + Microsoft Docs: + + + + Number of standard mipmaps in the tiled resource. + + + Number of packed mipmaps in the tiled resource. + +This number starts from the least detailed mipmap (either sharing tiles or using non standard tile layout). This number is 0 if no +such packing is in the resource. For array surfaces, this value is the number of mipmaps that are packed for a given array slice where each array slice repeats the same +packing. + + +On Tier_2 tiled resources hardware, mipmaps that fill at least one standard shaped tile in all dimensions +are not allowed to be included in the set of packed mipmaps. On Tier_1 hardware, mipmaps that are an integer multiple of one standard shaped tile in all dimensions are not allowed to be included in the set of packed mipmaps. Mipmaps with at least one +dimension less than the standard tile shape may or may not be packed. When a given mipmap needs to be packed, all coarser +mipmaps for a given array slice are considered packed as well. + + + Number of tiles for the packed mipmaps in the tiled resource. + +If there is no packing, this value is meaningless and is set to 0. +Otherwise, it is set to the number of tiles +that are needed to represent the set of packed mipmaps. +The pixel layout within the packed mipmaps is hardware specific. +If apps define only partial mappings for the set of tiles in packed mipmaps, read and write behavior is vendor specific and undefined. +For arrays, this value is only the count of packed mipmaps within +the subresources for each array slice. + + + Offset of the first packed tile for the resource +in the overall range of tiles. If NumPackedMips is 0, this +value is meaningless and is 0. Otherwise, it is the +offset of the first packed tile for the resource in the overall +range of tiles for the resource. A value of 0 for +StartTileIndexInOverallResource means the entire resource is packed. +For array surfaces, this is the offset for the tiles that contain the packed +mipmaps for the first array slice. Packed mipmaps for each array slice in arrayed surfaces are at this offset +past the beginning of the tiles for each array slice. + +
Note  The +number of overall tiles, packed or not, for a given array slice is +simply the total number of tiles for the resource divided by the +resource's array size, so it is easy to locate the range of tiles for +any given array slice, out of which StartTileIndexInOverallResource identifies +which of those are packed.
+
 
+
+ + + Sets the rate at which the video processor produces output frames for an input stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + The output rate, specified as a D3D11_VIDEO_PROCESSOR_OUTPUT_RATE value. + Specifies how the driver performs frame-rate conversion, if required. + + + + + + + + + + + + + + +
ValueMeaning
+
TRUE
+
+
+Repeat frames. + +
+
FALSE
+
+
+Interpolate frames. + +
+ A pointer to a DXGI_RATIONAL structure. If OutputRate is D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM, this parameter specifies the exact output rate. Otherwise, this parameter is ignored and can be NULL. +
+
+ + + Clear all messages from the message queue. + Microsoft Docs: + + + + + Sets the constant buffers that the vertex shader pipeline stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers being given to the device. + An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants. + An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096]. + + + + + Copies data into a D3D11_USAGE_DEFAULTtexture which was mapped using ID3D11DeviceContext3::Mapwhile providing a NULL D3D11_MAPPED_SUBRESOURCEparameter. + Microsoft Docs: + A pointer to the destination resource (an + ID3D11Resource). + A zero-based index, that identifies the destination subresource. + For more details, see + D3D11CalcSubresource. + A pointer to a box that defines the portion of the destination subresource to copy the resource data into. + If NULL, the data is written to the destination subresource with no offset. + The dimensions of the source must fit the destination (see + D3D11_BOX). + + +An empty box results in a no-op. + A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. + When the box is empty, this method doesn't perform any operation. + A pointer to the source data in memory. + The size of one row of the source data. + The size of one depth slice of source data. + + + + + Sets the pixel aspect ratio for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies whether the pSourceAspectRatio and pDestinationAspectRatio parameters contain valid values. Otherwise, the pixel aspect ratios are unspecified. + A pointer to a DXGI_RATIONAL structure that contains the pixel aspect ratio of the source rectangle. If Enable is FALSE, this parameter can be NULL. + A pointer to a DXGI_RATIONAL structure that contains the pixel aspect ratio of the destination rectangle. If Enable is FALSE, this parameter can be NULL. + + + + + Set data to a device and associate that data with a guid. + Microsoft Docs: + Guid associated with the data. + Size of the data. + Pointer to the data to be stored with this device. If pData is NULL, DataSize must also be 0, and any data previously associated with the guid will be destroyed. + + + + + A hull-shader interface manages an executable program (a hull shader) that controls the hull-shader stage. + Microsoft Docs: + + + + + Gets the current background color for the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + Receives the value TRUE if the background color is a YCbCr color, or FALSE if the background color is an RGB color. + A pointer to a D3D11_VIDEO_COLOR structure. The method fills in the structure with the background color. + + + + + Get the vertex buffers bound to the input-assembler stage. + Microsoft Docs: + The input slot of the first vertex buffer to get. The first vertex buffer is explicitly bound to the start slot; this causes each additional vertex buffer in the array to be implicitly bound to each subsequent input slot. The maximum of 16 or 32 input slots (ranges from 0 to D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1) are available; the maximum number of input slots depends on the feature level. + The number of vertex buffers to get starting at the offset. The number of buffers (plus the starting slot) cannot exceed the total number of IA-stage input slots. + A pointer to an array of vertex buffers returned by the method (see ID3D11Buffer). + Pointer to an array of stride values returned by the method; one stride value for each buffer in the vertex-buffer array. Each stride value is the size (in bytes) of the elements that are to be used from that vertex buffer. + Pointer to an array of offset values returned by the method; one offset value for each buffer in the vertex-buffer array. Each offset is the number of bytes between the first element of a vertex buffer and the first element that will be used. + + + + + Specifies a data access ordering constraint between multiple tiled resources. + Microsoft Docs: + A pointer to an ID3D11Resource or ID3D11View for a resource that was created with the D3D11_RESOURCE_MISC_TILED flag. Access operations on this object must complete before the access operations on the object that pTiledResourceOrViewAccessAfterBarrier specifies. + A pointer to an ID3D11Resource or ID3D11View for a resource that was created with the D3D11_RESOURCE_MISC_TILED flag. Access operations on this object must begin after the access operations on the object that pTiledResourceOrViewAccessBeforeBarrier specifies. + + + + + Set an array of sampler states to the pixel shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). See Remarks. + + + + + Copies mappings from a source tiled resource to a destination tiled resource. + Microsoft Docs: + A pointer to the destination tiled resource. + A pointer to a D3D11_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the destination tiled resource. + A pointer to the source tiled resource. + A pointer to a D3D11_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the source tiled resource. + A pointer to a D3D11_TILE_REGION_SIZE structure that describes the size of the tiled region. + A combination of D3D11_TILE_MAPPING_FLAGS values that are combined by using a bitwise OR operation. The only valid value is D3D11_TILE_MAPPING_NO_OVERWRITE, which indicates that previously submitted commands to the device that may still be executing do not reference any of the tile region being updated. The device can then avoid having to flush previously submitted work to perform the tile mapping update. If the app violates this promise by updating tile mappings for locations in tiled resources that are still being referenced by outstanding commands, undefined rendering behavior results, including the potential for significant slowdowns on some architectures. This is like the "no overwrite" concept that exists elsewhere in the Direct3D API, except applied to the tile mapping data structure itself (which in hardware is a page table). The absence of the D3D11_TILE_MAPPING_NO_OVERWRITE value requires that tile mapping updates that CopyTileMappings specifies must be completed before any subsequent Direct3D command can proceed. + + + + + A function-linking-graph interface is used for constructing shaders that consist of a sequence of precompiled function calls that pass values to each other. + Microsoft Docs: + + + + + Get an array of sampler state interfaces from the hull-shader stage. + Microsoft Docs: + Index into a zero-based array to begin getting samplers from (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). + + + + + Gets private state data from the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + A pointer to a GUID that identifies the state. The meaning of this GUID is defined by the graphics driver. + The size of the pData buffer, in bytes. + A pointer to a buffer that receives the private state data. + + + + + Specifies a type of compressed buffer for decoding. + Microsoft Docs: + + + + Picture decoding parameter buffer. + + + Macroblock control command buffer. + + + Residual difference block data buffer. + + + Deblocking filter control command buffer. + + + Inverse quantization matrix buffer. + + + Slice-control buffer. + + + Bitstream data buffer. + + + Motion vector buffer. + + + Film grain synthesis data buffer. + + + + Get a description of the resource. + Microsoft Docs: + Pointer to a resource description (see D3D11_UNORDERED_ACCESS_VIEW_DESC.) + + + + + Specifies the intended use for a video processor. + Microsoft Docs: + + + + Normal video playback. The graphics driver should expose a set of capabilities that are appropriate for real-time video playback. + + + Optimal speed. The graphics driver should expose a minimal set of capabilities that are optimized for performance. + + + +Use this setting if you want better performance and can accept some reduction in video quality. For example, you might use this setting in power-saving mode or to play video thumbnails. + + + Optimal quality. The grahics driver should expose its maximum set of capabilities. + +Specify this setting to get the best video quality possible. It is appropriate for tasks such as video editing, when quality is more important than speed. It is not appropriate for real-time playback. + + + + Push a copy of retrieval filter currently on the top of the retrieval-filter stack onto the retrieval-filter stack. + Microsoft Docs: + + + + + Copies data from a D3D11_USAGE_DEFAULTtexture which was mapped using ID3D11DeviceContext3::Mapwhile providing a NULL D3D11_MAPPED_SUBRESOURCEparameter. + Microsoft Docs: + A pointer to the destination data in memory. + The size of one row of the destination data. + The size of one depth slice of destination data. + A pointer to the source resource (see + ID3D11Resource). + A zero-based index, that identifies the destination subresource. + For more details, see + D3D11CalcSubresource. + A pointer to a box that defines the portion of the destination subresource to copy the resource data from. + If NULL, the data is read from the destination subresource with no offset. + The dimensions of the destination must fit the destination (see + D3D11_BOX). + + +An empty box results in a no-op. + A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. + When the box is empty, this method doesn't perform any operation. + + + + + Describes a shader-resource view. + Microsoft Docs: + + + + A DXGI_FORMAT-typed value that specifies the viewing format. See remarks. + + + A D3D11_SRV_DIMENSION-typed value that specifies the resource type of the view. This type is the same as the resource type of the underlying resource. This member also determines which _SRV to use in the union below. + + + A D3D11_BUFFER_SRV structure that views the resource as a buffer. + + + A D3D11_TEX1D_SRV structure that views the resource as a 1D texture. + + + A D3D11_TEX1D_ARRAY_SRV structure that views the resource as a 1D-texture array. + + + A D3D11_TEX2D_SRV1 structure that views the resource as a 2D-texture. + + + A D3D11_TEX2D_ARRAY_SRV1 structure that views the resource as a 2D-texture array. + + + A D3D11_TEX2DMS_SRV structure that views the resource as a 2D-multisampled texture. + + + A D3D11_TEX2DMS_ARRAY_SRV structure that views the resource as a 2D-multisampled-texture array. + + + A D3D11_TEX3D_SRV structure that views the resource as a 3D texture. + + + A D3D11_TEXCUBE_SRV structure that views the resource as a 3D-cube texture. + + + A D3D11_TEXCUBE_ARRAY_SRV structure that views the resource as a 3D-cube-texture array. + + + A D3D11_BUFFEREX_SRV structure that views the resource as a raw buffer. For more info about raw viewing of buffers, see Raw Views of Buffers. + + + + Gets the number of Mov instructions. + Microsoft Docs: + + + + + Gets the size of the driver's certificate chain. + Microsoft Docs: + Receives the size of the certificate chain, in bytes. + + + + + Describes Direct3D 9 shadow support in the current graphics driver. + Microsoft Docs: + + + + Specifies whether the driver supports the shadowing feature with the comparison-filtering mode set to less than or equal to. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to TRUE only if the hardware and driver support the shadowing feature; otherwise FALSE. + + + + The rasterizer-state interface holds a description for rasterizer state that you can bind to the rasterizer stage. + Microsoft Docs: + + + + + Categories of debug messages. + Microsoft Docs: + + + + User defined message. See ID3D11InfoQueue::AddMessage. + + + Direct3D 11:  This value is not supported until Direct3D 11.1. + + + + Gets the planar alpha for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives the value TRUE if planar alpha is enabled, or FALSE otherwise. + Receives the planar alpha value. The value can range from 0.0 (transparent) to 1.0 (opaque). + + + + + Contains input data for a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_INPUT structure that contains the GUID for the query and other data. + + + A handle to the device. + + + A handle to the cryptographic session. + + + + A depth-stencil-view interface accesses a texture resource during depth-stencil testing. + Microsoft Docs: + + + + + Get a constant buffer by index. + Microsoft Docs: + Zero-based index. + + + + + Creates a resource view for a video processor, describing the input sample for the video processing operation. + Microsoft Docs: + A pointer to the ID3D11Resource interface of the input surface. + A pointer to the ID3D11VideoProcessorEnumerator interface that specifies the video processor. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessorEnumerator. + A pointer to a D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC structure that describes the view. + Receives a pointer to the ID3D11VideoProcessorInputView interface. The caller must release the resource. If this parameter is NULL, the method checks whether the view is supported, but does not create the view. + + + + + Describes a shader-variable type. + Microsoft Docs: + + + + A D3D_SHADER_VARIABLE_CLASS-typed value that identifies the variable class as one of scalar, vector, matrix, object, and so on. + + + A D3D_SHADER_VARIABLE_TYPE-typed value that identifies the variable type. + + + Number of rows in a matrix. Otherwise a numeric type returns 1, any other type returns 0. + + + Number of columns in a matrix. Otherwise a numeric type returns 1, any other type returns 0. + + + Number of elements in an array; otherwise 0. + + + Number of members in the structure; otherwise 0. + + + Offset, in bytes, between the start of the parent structure and this variable. Can be 0 if not a structure member. + + + Name of the shader-variable type. This member can be NULL if it isn't used. This member supports dynamic shader linkage interface types, which have names. For more info about dynamic shader linkage, see Dynamic Linking. + + + + Specifies the subresource from a 1D texture to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture1D for which ID3D11Device::CreateShaderResourceView creates a view) -1. + + + The maximum number of mipmap levels for the view of the texture. See the remarks. + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + + A compute-shader interface manages an executable program (a compute shader) that controls the compute-shader stage. + Microsoft Docs: + + + + + Sets the output color space for the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + A pointer to a D3D11_VIDEO_PROCESSOR_COLOR_SPACE structure that specifies the color space. + + + + + The rasterizer-state interface holds a description for rasterizer state that you can bind to the rasterizer stage. This rasterizer-state interface supports forced sample count. + Microsoft Docs: + + + + + Get the constant buffers used by the vertex shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers (see ID3D11Buffer) to be returned by the method. + + + + + This interface encapsulates methods for measuring GPU performance. + Microsoft Docs: + + + + + Sends queued-up commands in the command buffer to the graphics processing unit (GPU), with a specified context type and an optional event handle to create an event query. + Microsoft Docs: + A D3D11_CONTEXT_TYPE that specifies the context in which a query occurs, such as a 3D command queue, 3D compute queue, 3D copy queue, video, or image. + An optional event handle. When specified, this method creates an event query. + + +Flush1 operates asynchronously, therefore it can return either before or after the GPU finishes executing the queued graphics commands, which will eventually complete. + To create an event query, you can call ID3D11Device::CreateQuery with the + value D3D11_QUERY_EVENT value. + To determine when the GPU is finished processing the graphics commands, + you can then use that event query in a call to ID3D11DeviceContext::GetData. + + + + + Option(s) for raising an error to a non-continuable exception. + Microsoft Docs: + + + + Raise an internal driver error to a non-continuable exception. + + + + Represents key exchange data for hardware content protection. + Microsoft Docs: + + + + The function ID of the DRM command. The values and meanings of the function ID are defined by the DRM specification. + + + Pointer to a buffer containing a D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA structure that specifies memory reserved for IHV use and the input data for the DRM command. + + + Pointer to a buffer containing a D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA structure that specifies memory reserved for IHV use and the input data for the DRM command. + + + The result of the hardware DRM command. + + + + Get the blend state of the output-merger stage. + Microsoft Docs: + Address of a pointer to a blend-state interface (see ID3D11BlendState). + Array of blend factors, one for each RGBA component. + Pointer to a sample mask. + + + + + Arguments for draw indexed instanced indirect. + Microsoft Docs: + + + + The number of indices read from the index buffer for each instance. + + + The number of instances to draw. + + + The location of the first index read by the GPU from the index buffer. + + + A value added to each index before reading a vertex from the vertex buffer. + + + A value added to each index before reading per-instance data from a vertex buffer. + + + + Specifies logical operations to configure for a render target. + Microsoft Docs: + + + + Clears the render target. + + + Sets the render target. + + + Copys the render target. + + + Performs an inverted-copy of the render target. + + + No operation is performed on the render target. + + + Inverts the render target. + + + Performs a logical AND operation on the render target. + + + Performs a logical NAND operation on the render target. + + + Performs a logical OR operation on the render target. + + + Performs a logical NOR operation on the render target. + + + Performs a logical XOR operation on the render target. + + + Performs a logical equal operation on the render target. + + + Performs a logical AND and reverse operation on the render target. + + + Performs a logical AND and invert operation on the render target. + + + Performs a logical OR and reverse operation on the render target. + + + Performs a logical OR and invert operation on the render target. + + + + Gets the number of conversion instructions. + Microsoft Docs: + + + + + Activates the given context state object and changes the current device behavior to Direct3D 11, Direct3D 10.1, or Direct3D 10. + Microsoft Docs: + A pointer to the ID3DDeviceContextState interface for the context state object that was previously created through the ID3D11Device1::CreateDeviceContextState method. If SwapDeviceContextState is called with pState set to NULL, the call has no effect. + A pointer to a variable that receives a pointer to the ID3DDeviceContextState interface for the previously-activated context state object. + + + + + Set a geometry shader to the device. + Microsoft Docs: + Pointer to a geometry shader (see ID3D11GeometryShader). Passing in NULL disables the shader for this pipeline stage. + A pointer to an array of class-instance interfaces (see ID3D11ClassInstance). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to NULL if the shader does not use any interfaces. + The number of class-instance interfaces in the array. + + + + + Specifies the subresource from a 1D texture that is accessible to a depth-stencil view. + Microsoft Docs: + + + + The index of the first mipmap level to use. + + + + Get a pointer to the input-layout object that is bound to the input-assembler stage. + Microsoft Docs: + A pointer to the input-layout object (see ID3D11InputLayout), which describes the input buffers that will be read by the IA stage. + + + + + Returns driver hints that indicate which of the video processor operations are best performed using multi-plane overlay hardware rather than ID3D11VideoContext::VideoProcessorBlt method. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + The width of the output stream. + The height of the output stream. + The format of the output stream. + The number of input streams to process. + An array of structures that specifies the format of each input stream and whether each stream should be used when computing behavior hints. + A pointer to a bitwise OR combination of D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS values indicating which video processor operations would best be performed using multi-plane overlay hardware rather than the ID3D11VideoContext::VideoProcessorBlt method. + + + + + The device interface represents a virtual adapter; it is used to create resources. ID3D11Device2 adds new methods to those in ID3D11Device1. + Microsoft Docs: + + + + + Sends a configuration command to an authenticated channel. + Microsoft Docs: + A pointer to the ID3D11AuthenticatedChannel interface. + The size of the pInput array, in bytes. + A pointer to a byte array that contains input data for the command. This buffer always starts with a D3D11_AUTHENTICATED_CONFIGURE_INPUT structure. The ConfigureType member of the structure specifies the command and defines the meaning of the rest of the buffer. + A pointer to a D3D11_AUTHENTICATED_CONFIGURE_OUTPUT structure that receives the response to the command. + + + + + Bind an array of viewports to the rasterizer stage of the pipeline. + Microsoft Docs: + Number of viewports to bind. + An array of D3D11_VIEWPORT structures to bind to the device. See the structure page for details about how the viewport size is dependent on the device feature level which has changed between Direct3D 11 and Direct3D 10. + + + + + Creates a rasterizer state object that informs the rasterizer stage how to behave and forces the sample count while UAV rendering or rasterizing. + Microsoft Docs: + A pointer to a D3D11_RASTERIZER_DESC1 structure that describes the rasterizer state. + Address of a pointer to the ID3D11RasterizerState1 interface for the rasterizer state object created. + + + + + Contains input data for the ID3D11VideoContext::QueryAuthenticatedChannel method. + Microsoft Docs: + + + + A GUID that specifies the query. The following GUIDs are defined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ValueMeaning
+
D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ATTRIBUTES
+
+
+Returns the type of I/O bus that is used to send data to the GPU. + +Output data structure: D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE
+
+
+Returns the type of authenticated channel. + +Output data structure: D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION
+
+
+Returns handles to the cryptographic session and Direct3D device that are associated with a specified decoder device. + +Input data structure: D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT + + +Output data structure: D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_CURRENT_ENCRYPTION_WHEN_ACCESSIBLE
+
+
+Returns the encryption type that is applied before content becomes accessible to the CPU or bus. + +Output data structure: D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE
+
+
+Returns a handle to the device that is associated with this authenticated channel. + +Output data structure: D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID
+
+
+Returns one of the encryption types that can be used to encrypt content before it becomes accessible to the CPU or bus. + +Input data structure: D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT + + +Output data structure: D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID_COUNT
+
+
+Returns the number of encryption types that can be used to encrypt content before it becomes accessible to the CPU or bus. + +Output data structure: D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_OUTPUT_ID
+
+
+Returns one of the output identifiers that is associated with a specified cryptographic session and Direct3D device. + +Input data structure: D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT + + +Output data structure: D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT
+
+
+Returns the number of output identifiers that are associated with a specified cryptographic session and Direct3D device. + +Input data structure: D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT + + +Output data structure: D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_PROTECTION
+
+
+Returns the current protection level for the device. + +Output data structure: D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS
+
+
+Returns information about a process that is allowed to open shared resources with restricted access. + +Input data structure: D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT + + +Output data structure: D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT
+
+
+Returns the number of processes that are allowed to open shared resources with restricted access. + +Output data structure: D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT + + +
+
D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT
+
+
+Returns the number of protected shared resources that can be opened by any process with no restrictions. + +Output data structure: D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT + + +
+
+ + A handle to the authenticated channel. To get the handle, call the ID3D11AuthenticatedChannel::GetChannelHandle method. + + + The query sequence number. At the start of the session, generate a cryptographically secure 32-bit random number to use as the starting sequence number. For each query, increment the sequence number by 1. + + + + Describes a library. + Microsoft Docs: + + + + The name of the originator of the library. + + + A combination of D3DCOMPILE Constants that are combined by using a bitwise OR operation. The resulting value specifies how the compiler compiles. + + + The number of functions exported from the library. + + + + Describes the coordinates of a tiled resource. + Microsoft Docs: + + + + The x position of a tiled resource. Used for buffer and 1D, 2D, and 3D textures. + + + The y position of a tiled resource. Used for 2D and 3D textures. + + + The z position of a tiled resource. Used for 3D textures. + + + A subresource index value into mipmaps and arrays. Used for 1D, 2D, and 3D textures. + +For mipmaps that use nonstandard tiling, or are packed, or both use nonstandard tiling and are packed, any subresource value that indicates any of the packed mipmaps all refer to the same tile. + + + + Sets the depth-stencil state of the output-merger stage. + Microsoft Docs: + Pointer to a depth-stencil state interface (see ID3D11DepthStencilState) to bind to the device. Set this to NULL to use the default state listed in D3D11_DEPTH_STENCIL_DESC. + Reference value to perform against when doing a depth-stencil test. See remarks. + + + + + Specifies indices for arrays of per component histogram infromation. + Microsoft Docs: + + + + If the format is a YUV format, indicates a histogram for the Y component. + + + If the format is a YUV format, indicates a histogram for the U component. + + + If the format is a YUV format, indicates a histogram for the V component. + + + If the format is an RGB/BGR format, indicates a histogram for the R component. + + + If the format is an RGB/BGR format, indicates a histogram for the G component. + + + If the format is an RGB/BGR format, indicates a histogram for the B component. + + + If the format has an alpha channel, indicates a histogram for the A component. + + + + Specifies the type of Microsoft Direct3D authenticated channel. + Microsoft Docs: + + + + Direct3D 11 channel. This channel provides communication with the Direct3D runtime. + + + Software driver channel. This channel provides communication with a driver that implements content protection mechanisms in software. + + + Hardware driver channel. This channel provides communication with a driver that implements content protection mechanisms in the GPU hardware. + + + + Draw instanced, GPU-generated primitives. + Microsoft Docs: + A pointer to an ID3D11Buffer, which is a buffer containing the GPU generated primitives. + Offset in pBufferForArgs to the start of the GPU generated primitives. + + + + + Set a vertex shader to the device. + Microsoft Docs: + Pointer to a vertex shader (see ID3D11VertexShader). Passing in NULL disables the shader for this pipeline stage. + A pointer to an array of class-instance interfaces (see ID3D11ClassInstance). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to NULL if the shader does not use any interfaces. + The number of class-instance interfaces in the array. + + + + + Gets a description of the current HLSL class. + Microsoft Docs: + A pointer to a D3D11_CLASS_INSTANCE_DESC structure that describes the current HLSL class. + + + + + Fills the function descriptor structure for the function. + Microsoft Docs: + A pointer to a D3D11_FUNCTION_DESC structure that receives a description of the function. + + + + + Gets the feature level of the hardware device. + Microsoft Docs: + + + + + Gets the number of profiles that are supported by the driver. + Microsoft Docs: + + + + + Specifies an event that should be fired when the fence reaches a certain value. + Microsoft Docs: + The fence value when the event is to be signaled. + A handle to the event object. + + + + + Describes parameters that are used to create a device. + Microsoft Docs: + + + + Use this flag if your application will only call methods of Direct3D 11 interfaces from a single thread. By default, the ID3D11Device object is thread-safe. + By using this flag, you can increase performance. However, if you use this flag and your application calls methods of Direct3D 11 interfaces from multiple threads, undefined behavior might result. + + + Creates a device that supports the debug layer. + +To use this flag, you must have D3D11*SDKLayers.dll installed; otherwise, device creation fails. To get D3D11_1SDKLayers.dll, install the SDK for Windows 8. + + +
Note  This flag is not supported in Direct3D 11.
+
 
+
+ + Prevents multiple threads from being created. When this flag is used with a Windows Advanced Rasterization Platform (WARP) device, no additional threads will be created by WARP + and all rasterization will occur on the calling thread. This flag is not recommended for general use. See remarks. + + + Creates a device that supports BGRA formats (DXGI_FORMAT_B8G8R8A8_UNORM and DXGI_FORMAT_B8G8R8A8_UNORM_SRGB). All 10level9 and higher hardware with WDDM 1.1+ drivers support BGRA formats. + +
Note  Required for Direct2D interoperability with Direct3D resources.
+
 
+
+ + Causes the device and driver to keep information that you can use for shader debugging. The exact impact from this flag will vary from driver to driver. + +To use this flag, you must have D3D11_1SDKLayers.dll installed; otherwise, device creation fails. The created device supports the debug layer. To get D3D11_1SDKLayers.dll, install the SDK for Windows 8. + +If you use this flag and the current driver does not support shader debugging, device creation fails. Shader debugging requires a driver that is implemented to the WDDM for Windows 8 (WDDM 1.2). + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Causes the Direct3D runtime to ignore registry settings that turn on the debug layer. You can turn on the debug layer by using the DirectX Control Panel that was included as part of the DirectX SDK. We shipped the last version of the DirectX SDK in June 2010; you can download it from the Microsoft Download Center. You can set this flag in your app, typically in release builds only, to prevent end users from using the DirectX Control Panel to monitor how the app uses Direct3D. + +
Note  You can also set this flag in your app to prevent Direct3D debugging tools, such as Visual Studio Ultimate 2012, from hooking your app.
+
 
+Windows 8.1:  This flag doesn't prevent Visual Studio 2013 and later running on Windows 8.1 and later from hooking your app; instead use ID3D11DeviceContext2::IsAnnotationEnabled. This flag still prevents Visual Studio 2013 and later running on Windows 8 and earlier from hooking your app. + +Direct3D 11:  This value is not supported until Direct3D 11.1.
+
+ + Use this flag if the device will produce GPU workloads that take more than two seconds to complete, and you want the operating system to allow them to successfully finish. If this flag is not set, the operating system performs timeout detection and recovery when it detects a GPU packet that took more than two seconds to execute. If this flag is set, the operating system allows such a long running packet to execute without resetting the GPU. We recommend not to set this flag if your device needs to be highly responsive so that the operating system can detect and recover from GPU timeouts. We recommend to set this flag if your device needs to perform time consuming background tasks such as compute, image recognition, and video encoding to allow such tasks to successfully finish. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Forces the creation of the Direct3D device to fail if the display driver is not implemented to the WDDM for Windows 8 (WDDM 1.2). When the display driver is not implemented to WDDM 1.2, only a Direct3D device that is created with feature level 9.1, 9.2, or 9.3 supports video; therefore, if this flag is set, the runtime creates the Direct3D device only for feature level 9.1, 9.2, or 9.3. We recommend not to specify this flag for applications that want to favor Direct3D capability over video. If feature level 10 and higher is available, the runtime will use that feature level regardless of video support. + +If this flag is set, device creation on the Basic Render Device (BRD) will succeed regardless of the BRD's missing support for video decode. This is because the Media Foundation video stack operates in software mode on BRD. In this situation, if you force the video stack to create the Direct3D device twice (create the device once with this flag, next discover BRD, then again create the device without the flag), you actually degrade performance. + +If you attempt to create a Direct3D device with driver type D3D_DRIVER_TYPE_NULL, D3D_DRIVER_TYPE_REFERENCE, or D3D_DRIVER_TYPE_SOFTWARE, device creation fails at any feature level because none of the associated drivers provide video capability. If you attempt to create a Direct3D device with driver type D3D_DRIVER_TYPE_WARP, device creation succeeds to allow software fallback for video. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + + Specifies the subresource from a 2D texture to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture2D for which ID3D11Device::CreateShaderResourceView creates a view) -1. + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + + Creates a deferred context, which can record command lists. + Microsoft Docs: + Reserved for future use. + Pass 0. + Upon completion of the method, the passed pointer to an ID3D11DeviceContext interface pointer is initialized. + + + + + Defines stereo 3D capabilities for a Microsoft Direct3D 11 video processor. + Microsoft Docs: + + + + The video processor supports the D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET + format. + + + The video processor supports the D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED + format. + + + The video processor supports the D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED + format. + + + The video processor supports the D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD + format. + + + The video processor can flip one or both views. For more information, see D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE. + + + + Identifies how to bind a resource to the pipeline. + Microsoft Docs: + + + + Bind a buffer as a vertex buffer to the input-assembler stage. + + + Bind a buffer as an index buffer to the input-assembler stage. + + + Bind a buffer as a constant buffer to a shader stage; this flag may NOT be combined with any other bind flag. + + + Bind a buffer or texture to a shader stage; this flag cannot be used with the D3D11_MAP_WRITE_NO_OVERWRITE flag. + +
Note  The Direct3D 11.1 runtime, which is available starting with Windows 8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with D3D11_MAP_WRITE_NO_OVERWRITE. The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call ID3D11Device::CheckFeatureSupport with D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport fills members of a D3D11_FEATURE_DATA_D3D11_OPTIONS structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.
+
 
+
+ + Bind an output buffer for the stream-output stage. + + + Bind a texture as a render target for the output-merger stage. + + + Bind a texture as a depth-stencil target for the output-merger stage. + + + Bind an unordered access resource. + + + Set this flag to indicate that a 2D texture is used to receive output from the decoder API. The common way to create resources for a decoder output is by calling the ID3D11Device::CreateTexture2D method to create an array of 2D textures. However, you cannot use texture arrays that are created with this flag in calls to ID3D11Device::CreateShaderResourceView. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Set this flag to indicate that a 2D texture is used to receive input from the video encoder API. The common way to create resources for a video encoder is by calling the ID3D11Device::CreateTexture2D method to create an array of 2D textures. However, you cannot use texture arrays that are created with this flag in calls to ID3D11Device::CreateShaderResourceView. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + + Query information about graphics-pipeline activity in between calls to ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. + Microsoft Docs: + + + + Number of vertices read by input assembler. + + + Number of primitives read by the input assembler. This number can be different depending on the primitive topology used. For example, a triangle strip with 6 vertices will produce 4 triangles, however a triangle list with 6 vertices will produce 2 triangles. + + + Number of times a vertex shader was invoked. Direct3D invokes the vertex shader once per vertex. + + + Number of times a geometry shader was invoked. When the geometry shader is set to NULL, this statistic may or may not increment depending on the hardware manufacturer. + + + Number of primitives output by a geometry shader. + + + Number of primitives that were sent to the rasterizer. When the rasterizer is disabled, this will not increment. + + + Number of primitives that were rendered. This may be larger or smaller than CInvocations because after a primitive is clipped sometimes it is either broken up into more than one primitive or completely culled. + + + Number of times a pixel shader was invoked. + + + Number of times a hull shader was invoked. + + + Number of times a domain shader was invoked. + + + Number of times a compute shader was invoked. + + + + Get a shader description. + Microsoft Docs: + A pointer to a shader description. See D3D11_SHADER_DESC. + + + + + Creates a predicate. + Microsoft Docs: + Pointer to a query description where the type of query must be a D3D11_QUERY_SO_OVERFLOW_PREDICATE or D3D11_QUERY_OCCLUSION_PREDICATE (see D3D11_QUERY_DESC). + Address of a pointer to a predicate (see ID3D11Predicate). + + + + + Get the constant buffers used by the compute-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers (see ID3D11Buffer) to be returned by the method. + + + + + Gets the stereo 3D format for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives the value TRUE if stereo 3D is enabled for this stream, or FALSE otherwise. If the value is FALSE, ignore the remaining parameters. + Receives a D3D11_VIDEO_PROCESSOR_STEREO_FORMAT value that specifies the layout of the two stereo views in memory. + Receives a Boolean value. + + + + + + + + + + + + + + +
ValueMeaning
+
TRUE
+
+
+Frame 0 contains the left view. + +
+
FALSE
+
+
+Frame 0 contains the right view. + +
+ Receives a Boolean value. + + + + + + + + + + + + + + +
ValueMeaning
+
TRUE
+
+
+Frame 0 contains the base view. + +
+
FALSE
+
+
+Frame 1 contains the base view. + +
+ Receives a D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE value. This value specifies whether one of the views is flipped. + Receives the pixel offset used for D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET format. This parameter is ignored for other stereo formats. +
+
+ + + Sets the color space information for the video processor output surface. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + A DXGI_COLOR_SPACE_TYPE value that specifies the colorspace for the video processor output surface. + + + + + Creates a rasterizer state object that informs the rasterizer stage how to behave and forces the sample count while UAV rendering or rasterizing. + Microsoft Docs: + A pointer to a D3D11_RASTERIZER_DESC2 structure that describes the rasterizer state. + A pointer to a memory block that receives a pointer to a ID3D11RasterizerState2 interface for the created rasterizer state object. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Defines features that a Microsoft Direct3D 11 video processor can support. + Microsoft Docs: + + + + The video processor can set alpha values on the output pixels. For more information, see ID3D11VideoContext::VideoProcessorSetOutputAlphaFillMode. + + + The video processor can downsample the video output. For more information, see ID3D11VideoContext::VideoProcessorSetOutputConstriction. + + + The video processor can perform luma keying. For more information, see ID3D11VideoContext::VideoProcessorSetStreamLumaKey. + + + The video processor can apply alpha values from color palette entries. + + + The driver does not support full video processing capabilities. If this capability flag is set, the video processor has the following limitations: + +
    +
  • A maximum of two streams are supported:
      +
    • The first stream must be either NV12 or YUY2.
    • +
    • The second stream must be AYUV, AI44, or IA44.
    • +
    +
  • +
  • Image adjustment (proc amp) controls are applied to the entire video processing blit, rather than per stream.
  • +
  • Support for per-stream planar alpha is not reliable. (Per-pixel alpha is supported, however.)
  • +
+
+ + The video processor can support 3D stereo video. For more information, see ID3D11VideoContext::VideoProcessorSetStreamStereoFormat. + +All drivers setting this caps must support the following stereo formats: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL, D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL, and D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE. + + + The driver can rotate the input data either 90, 180, or 270 degrees clockwise as part of the video processing operation. + + + The driver supports the VideoProcessorSetStreamAlpha call. + + + The driver supports the VideoProcessorSetStreamPixelAspectRatio call. + + + + A 2D texture interface manages texel data, which is structured memory. + Microsoft Docs: + + + + + Sets a pixel shader to the device. + Microsoft Docs: + Pointer to a pixel shader (see ID3D11PixelShader). Passing in NULL disables the shader for this pipeline stage. + A pointer to an array of class-instance interfaces (see ID3D11ClassInstance). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to NULL if the shader does not use any interfaces. + The number of class-instance interfaces in the array. + + + + + Sets a driver-specific video processing state. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + A pointer to a GUID that identifies the operation. The meaning of this GUID is defined by the graphics driver. + The size of the pData buffer, in bytes. + A pointer to a buffer that contains private state data. The method passes this buffer directly to the driver without validation. It is the responsibility of the driver to validate the data. + + + + + Copies data from a buffer holding variable length data. + Microsoft Docs: + Pointer to ID3D11Buffer. This can be any buffer resource that other copy commands, + such as ID3D11DeviceContext::CopyResource or ID3D11DeviceContext::CopySubresourceRegion, are able to write to. + Offset from the start of pDstBuffer to write 32-bit UINT structure (vertex) count from pSrcView. + Pointer to an ID3D11UnorderedAccessView of a Structured Buffer resource created with either + D3D11_BUFFER_UAV_FLAG_APPEND or D3D11_BUFFER_UAV_FLAG_COUNTER specified + when the UAV was created. These types of resources have hidden counters tracking "how many" records have + been written. + + + + + Gets whether hardware protection is enabled. + Microsoft Docs: + After this method returns, points to a BOOL that indicates whether hardware protection is enabled. + + + + + Get the size of the retrieval-filter stack in bytes. + Microsoft Docs: + + + + + Provides information about the input streams passed into the ID3DVideoContext1::VideoProcessorGetBehaviorHints method. + Microsoft Docs: + + + + A value indicating whether this input stream should be used to compute behavior hints. Set to true if the stream should be used to compute behavior hints; otherwise, set to false. + + + The width of the input stream. + + + The height of the input stream. + + + The format of the input stream. + + + + Gets the number of interfaces. + Microsoft Docs: + + + + + An information-queue interface stores, retrieves, and filters debug messages. The queue consists of a message queue, an optional storage filter stack, and a optional retrieval filter stack. + Microsoft Docs: + + + + + Get the constant buffers used by the pixel shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers (see ID3D11Buffer) to be returned by the method. + + + + + Indicates whether a class type implements an interface. + Microsoft Docs: + A pointer to a ID3D11ShaderReflectionType Interface. + + + + + Specifies the subresource from a multisampled 2D texture to use in a render-target view. + Microsoft Docs: + + + + Integer of any value. See remarks. + + + + An ID3D11ShaderTrace interface implements methods for obtaining traces of shader executions. + Microsoft Docs: + + + + + A predicate interface determines whether geometry should be processed depending on the results of a previous draw call. + Microsoft Docs: + + + + + Sets the planar alpha for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies whether alpha blending is enabled. + The planar alpha value. The value can range from 0.0 (transparent) to 1.0 (opaque). + If Enable is FALSE, this parameter is ignored. + + + + + Describes a video decoder output view. + Microsoft Docs: + + + + The decoding profile. To get the list of profiles supported by the device, call the ID3D11VideoDevice::GetVideoDecoderProfile method. + + + The resource type of the view, specified as a member of the D3D11_VDOV_DIMENSION enumeration. + + + A D3D11_TEX2D_VDOV structure that identifies the texture resource for the output view. + + + + Gets the geometry-shader input-primitive description. + Microsoft Docs: + + + + + Describes the configuration of a Microsoft Direct3D 11 decoder device for DirectX Video Acceleration (DXVA). + Microsoft Docs: + + + + If the bitstream data buffers are encrypted using the D3D11CryptoSession mechanism, this GUID should be set to zero. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 0, the value must be DXVA_NoEncrypt. + + + If the macroblock control data buffers are encrypted using the D3D11CryptoSession mechanism, this GUID should be set to zero. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 1, the value must be DXVA_NoEncrypt. + + + If the residual difference decoding data buffers are encrypted using the D3D11CryptoSession mechanism, this GUID should be set to zero. If no encryption is applied, the value is DXVA_NoEncrypt. If ConfigBitstreamRaw is 1, the value must be DXVA_NoEncrypt. + + + Indicates whether the host-decoder sends raw bit-stream data. If the value is 1, the data for the pictures will be sent in bit-stream buffers as raw bit-stream content. If the value is 0, picture data will be sent using macroblock control command buffers. If either ConfigResidDiffHost or ConfigResidDiffAccelerator is 1, the value must be 0. + + + Specifies whether macroblock control commands are in raster scan order or in arbitrary order. If the value is 1, the macroblock control commands within each macroblock control command buffer are in raster-scan order. If the value is 0, the order is arbitrary. For some types of bit streams, forcing raster order either greatly increases the number of required macroblock control buffers that must be processed, or requires host reordering of the control information. Therefore, supporting arbitrary order can be more efficient. + + + Contains the host residual difference configuration. If the value is 1, some residual difference decoding data may be sent as blocks in the spatial domain from the host. If the value is 0, spatial domain data will not be sent. + + + Indicates the word size used to represent residual difference spatial-domain blocks for predicted (non-intra) pictures when using host-based residual difference decoding. + + +If ConfigResidDiffHost is 1 and ConfigSpatialResid8 is 1, the host will send residual difference spatial-domain blocks for non-intra macroblocks using 8-bit signed samples and for intra macroblocks in predicted (non-intra) pictures in a format that depends on the value of ConfigIntraResidUnsigned: + + +
    +
  • If ConfigIntraResidUnsigned is 0, spatial-domain blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP–1). +
  • +
  • If ConfigIntraResidUnsigned is 1, spatial-domain blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0. +
  • +
+If ConfigResidDiffHost is 1 and ConfigSpatialResid8 is 0, the host will send residual difference spatial-domain blocks of data for non-intra macroblocks using 16-bit signed samples and for intra macroblocks in predicted (non-intra) pictures in a format that depends on the value of ConfigIntraResidUnsigned: + + +
    +
  • If ConfigIntraResidUnsigned is 0, spatial domain blocks for intra macroblocks are sent as 16-bit signed integer values relative to a constant reference value of 2^(BPP–1). +
  • +
  • If ConfigIntraResidUnsigned is 1, spatial domain blocks for intra macroblocks are sent as 16-bit unsigned integer values relative to a constant reference value of 0. +
  • +
+If ConfigResidDiffHost is 0, ConfigSpatialResid8 must be 0. + + +For intra pictures, spatial-domain blocks must be sent using 8-bit samples if bits-per-pixel (BPP) is 8, and using 16-bit samples if BPP > 8. If ConfigIntraResidUnsigned is 0, these samples are sent as signed integer values relative to a constant reference value of 2^(BPP–1), and if ConfigIntraResidUnsigned is 1, these samples are sent as unsigned integer values relative to a constant reference value of 0.
+
+ + If the value is 1, 8-bit difference overflow blocks are subtracted rather than added. The value must be 0 unless ConfigSpatialResid8 is 1. + + +The ability to subtract differences rather than add them enables 8-bit difference decoding to be fully compliant with the full ±255 range of values required in video decoder specifications, because +255 cannot be represented as the addition of two signed 8-bit numbers, but any number in the range ±255 can be represented as the difference between two signed 8-bit numbers (+255 = +127 minus –128). + + + If the value is 1, spatial-domain blocks for intra macroblocks must be clipped to an 8-bit range on the host and spatial-domain blocks for non-intra macroblocks must be clipped to a 9-bit range on the host. If the value is 0, no such clipping is necessary by the host. + + +The value must be 0 unless ConfigSpatialResid8 is 0 and ConfigResidDiffHost is 1. + + + If the value is 1, any spatial-domain residual difference data must be sent in a chrominance-interleaved form matching the YUV format chrominance interleaving pattern. The value must be 0 unless ConfigResidDiffHost is 1 and the YUV format is NV12 or NV21. + + + Indicates the method of representation of spatial-domain blocks of residual difference data for intra blocks when using host-based difference decoding. + + +If ConfigResidDiffHost is 1 and ConfigIntraResidUnsigned is 0, spatial-domain residual difference data blocks for intra macroblocks must be sent as follows: + + +
    +
  • In a non-intra picture, if ConfigSpatialResid8 is 0, the spatial-domain residual difference data blocks for intra macroblocks are sent as 16-bit signed integer values relative to a constant reference value of 2^(BPP–1). +
  • +
  • In a non-intra picture, if ConfigSpatialResid8 is 1, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP–1). +
  • +
  • In an intra picture, if BPP is 8, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit signed integer values relative to a constant reference value of 2^(BPP–1), regardless of the value of ConfigSpatialResid8. +
  • +
+If ConfigResidDiffHost is 1 and ConfigIntraResidUnsigned is 1, spatial-domain residual difference data blocks for intra macroblocks must be sent as follows: + + +
    +
  • In a non-intra picture, if ConfigSpatialResid8 is 0, the spatial-domain residual difference data blocks for intra macroblocks must be sent as 16-bit unsigned integer values relative to a constant reference value of 0. +
  • +
  • In a non-intra picture, if ConfigSpatialResid8 is 1, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0. +
  • +
  • In an intra picture, if BPP is 8, the spatial-domain residual difference data blocks for intra macroblocks are sent as 8-bit unsigned integer values relative to a constant reference value of 0, regardless of the value of ConfigSpatialResid8. +
  • +
+The value of the member must be 0 unless ConfigResidDiffHost is 1.
+
+ + If the value is 1, transform-domain blocks of coefficient data may be sent from the host for accelerator-based IDCT. If the value is 0, accelerator-based IDCT will not be used. If both ConfigResidDiffHost and ConfigResidDiffAccelerator are 1, this indicates that some residual difference decoding will be done on the host and some on the accelerator, as indicated by macroblock-level control commands. + + +The value must be 0 if ConfigBitstreamRaw is 1. + + + If the value is 1, the inverse scan for transform-domain block processing will be performed on the host, and absolute indices will be sent instead for any transform coefficients. If the value is 0, the inverse scan will be performed on the accelerator. + + +The value must be 0 if ConfigResidDiffAccelerator is 0 or if Config4GroupedCoefs is 1. + + + If the value is 1, the IDCT specified in Annex W of ITU-T Recommendation H.263 is used. If the value is 0, any compliant IDCT can be used for off-host IDCT. + + +The H.263 annex does not comply with the IDCT requirements of MPEG-2 corrigendum 2, so the value must not be 1 for use with MPEG-2 video. + + +The value must be 0 if ConfigResidDiffAccelerator is 0, indicating purely host-based residual difference decoding. + + + If the value is 1, transform coefficients for off-host IDCT will be sent using the DXVA_TCoef4Group structure. If the value is 0, the DXVA_TCoefSingle structure is used. The value must be 0 if ConfigResidDiffAccelerator is 0 or if ConfigHostInverseScan is 1. + + + Specifies how many frames the decoder device processes at any one time. + + + Contains decoder-specific configuration information. + + + + Identifies a texture resource for a video processor output view. + Microsoft Docs: + + + + The zero-based index into the array of subtextures. + + + The index of the first texture to use. + + + The number of textures in the array. + + + + Describes an HLSL class instance. + Microsoft Docs: + + + + The instance ID of an HLSL class; the default value is 0. + + + The instance index of an HLSL class; the default value is 0. + + + The type ID of an HLSL class; the default value is 0. + + + Describes the constant buffer associated with an HLSL class; the default value is 0. + + + The base constant buffer offset associated with an HLSL class; the default value is 0. + + + The base texture associated with an HLSL class; the default value is 127. + + + The base sampler associated with an HLSL class; the default value is 15. + + + True if the class was created; the default value is false. + + + + Describes an instance of a domain shader to trace. + Microsoft Docs: + + + + The invocation number of the instance of the domain shader. + + + + Sets the HDR metadata describing the display on which the content will be presented. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + The type of HDR metadata supplied. + The size of the HDR metadata supplied in pHDRMetaData. + +For DXGI_HDR_METADATA_TYPE_NONE, the size should be 0. + +For DXGI_HDR_METADATA_TYPE_HDR10, the size is sizeof(DXGI_HDR_METADATA_HDR10). + Pointer to the metadata information. + +For DXGI_HDR_METADATA_TYPE_NONE, this should be NULL. + +For DXGI_HDR_METADATA_TYPE_HDR10, this is a pointer to a DXGI_HDR_METADATA_HDR10 structure. + + + + + Indicates whether a variable is of the specified type. + Microsoft Docs: + A pointer to a ID3D11ShaderReflectionType Interface. + + + + + Gets the properties of the video processor output view. + Microsoft Docs: + A pointer to a D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC structure. The method fills the structure with the view properties. + + + + + Gets the HDR metadata describing the display on which the content will be presented. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + The type of HDR metadata supplied. + The size of the memory referenced by pHDRMetaData. + +If pHDRMetaData is NULL, Size should be 0. + Pointer to a buffer that receives the HDR metadata. + +This parameter can be NULL. + + + + + Gets a description of how a resource is bound to a function. + Microsoft Docs: + The constant-buffer name of the resource. + A pointer to a D3D11_SHADER_INPUT_BIND_DESC structure that describes input binding of the resource. + + + + + Provides data to the ID3D11VideoContext::DecoderBeginFrame method. + Microsoft Docs: + + + + A pointer to the ID3D11CryptoSession interface. To get this pointer, call ID3D11VideoDevice1::CreateCryptoSession. + + + The size of the memory buffer referenced by the pBlob member. + + + The definition of this buffer is dependent on the implementation of the secure execution environment. It could contain a sealed key blob or any other per-key data that the secure execution environment needs to pass to the decode API. + +The definition of this buffer is dependent on the implementation of the secure environment. It may contain data specific to the current frame. + + + A pointer to a GUID identifying the hardware key. + + + The size of the memory buffer referenced by the pPrivateData member. + + + + Unordered-access view options. + Microsoft Docs: + + + + The view type is unknown. + + + View the resource as a buffer. + + + View the resource as a 1D texture. + + + View the resource as a 1D texture array. + + + View the resource as a 2D texture. + + + View the resource as a 2D texture array. + + + View the resource as a 3D texture array. + + + + Gets the color space for an input stream of the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives a D3D11_VIDEO_PROCESSOR_COLOR_SPACE value that specifies the color space. + + + + + Submits one or more buffers for decoding. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. To get this pointer, call the ID3D11VideoDevice::CreateVideoDecoder method. + The number of buffers submitted for decoding. + A pointer to an array of D3D11_VIDEO_DECODER_BUFFER_DESC structures. The NumBuffers parameter specifies the number of elements in the array. Each element in the array describes a compressed buffer for decoding. + + + + + Identifies a shader type for tracing. + Microsoft Docs: + + + + Identifies a vertex shader. + + + Identifies a hull shader. + + + Identifies a domain shader. + + + Identifies a geometry shader. + + + Identifies a pixel shader. + + + Identifies a compute shader. + + + + Get a shader-reflection variable by index. + Microsoft Docs: + Zero-based index. + + + + + Direct3D 11 feature options. + Microsoft Docs: + + + + The driver supports multithreading. To see an example of testing a driver for multithread support, see How To: Check for Driver Support. Refer to D3D11_FEATURE_DATA_THREADING. + + + Supports the use of the double-precision shaders in HLSL. Refer to D3D11_FEATURE_DATA_DOUBLES. + + + Supports the formats in D3D11_FORMAT_SUPPORT. Refer to D3D11_FEATURE_DATA_FORMAT_SUPPORT. + + + Supports the formats in D3D11_FORMAT_SUPPORT2. Refer to D3D11_FEATURE_DATA_FORMAT_SUPPORT2. + + + Supports compute shaders and raw and structured buffers. Refer to D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS. + + + Supports Direct3D 11.1 feature options. Refer to D3D11_FEATURE_DATA_D3D11_OPTIONS. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Supports specific adapter architecture. Refer to D3D11_FEATURE_DATA_ARCHITECTURE_INFO. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Supports Direct3D 9 feature options. Refer to D3D11_FEATURE_DATA_D3D9_OPTIONS. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Supports minimum precision of shaders. For more info about HLSL minimum precision, see using HLSL minimum precision. Refer to D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Supports Direct3D 9 shadowing feature. Refer to D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + Supports Direct3D 11.2 feature options. Refer to D3D11_FEATURE_DATA_D3D11_OPTIONS1. + +Direct3D 11:  This value is not supported until Direct3D 11.2. + + + Supports Direct3D 11.2 instancing options. Refer to D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT. + +Direct3D 11:  This value is not supported until Direct3D 11.2. + + + Supports Direct3D 11.2 marker options. Refer to D3D11_FEATURE_DATA_MARKER_SUPPORT. + +Direct3D 11:  This value is not supported until Direct3D 11.2. + + + Supports Direct3D 9 feature options, which includes the Direct3D 9 shadowing feature and instancing support. Refer to D3D11_FEATURE_DATA_D3D9_OPTIONS1. + +Direct3D 11:  This value is not supported until Direct3D 11.2. + + + Supports Direct3D 11.3 conservative rasterization feature options. Refer to D3D11_FEATURE_DATA_D3D11_OPTIONS2. + +Direct3D 11:  This value is not supported until Direct3D 11.3. + + + Supports Direct3D 11.4 conservative rasterization feature options. Refer to D3D11_FEATURE_DATA_D3D11_OPTIONS3. + +Direct3D 11:  This value is not supported until Direct3D 11.4. + + + Supports GPU virtual addresses. Refer to D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT. + + + Supports a single boolean for NV12 shared textures. Refer to D3D11_FEATURE_DATA_D3D11_OPTIONS4. + +Direct3D 11:  This value is not supported until Direct3D 11.4. + + + Supports shader cache, described in D3D11_FEATURE_DATA_SHADER_CACHE. + + + Supports a D3D11_SHARED_RESOURCE_TIER to indicate a tier for shared resource support. Refer to D3D11_FEATURE_DATA_D3D11_OPTIONS5. + + + + Gets the instance name of the current HLSL class. + Microsoft Docs: + The instance name of the current HLSL class. + The length of the pInstanceName parameter. + + + + + Copy the entire contents of the source resource to the destination resource using the GPU. + Microsoft Docs: + A pointer to the ID3D11Resource interface that represents the destination resource. + A pointer to the ID3D11Resource interface that represents the source resource. + + + + + Creates a resource view for a video decoder, describing the output sample for the decoding operation. + Microsoft Docs: + A pointer to the ID3D11Resource interface of the decoder surface. The resource must be created with the D3D11_BIND_DECODER flag. See D3D11_BIND_FLAG. + A pointer to a D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC structure that describes the view. + Receives a pointer to the ID3D11VideoDecoderOutputView interface. The caller must release the interface. If this parameter is NULL, the method checks whether the view is supported, but does not create the view. + + + + + Describes a tiled subresource volume. + Microsoft Docs: + + + + The width in tiles of the subresource. + + + The height in tiles of the subresource. + + + The depth in tiles of the subresource. + + + The index of the tile in the overall tiled subresource to start with. + + +GetResourceTiling sets StartTileIndexInOverallResource to D3D11_PACKED_TILE (0xffffffff) to indicate that the whole +D3D11_SUBRESOURCE_TILING structure is meaningless, and the info to which the pPackedMipDesc parameter of GetResourceTiling points applies. For packed tiles, the description of the packed mipmaps comes from a D3D11_PACKED_MIP_DESC structure instead. + + + + Describes a trace register. + Microsoft Docs: + + + + A D3D11_TRACE_REGISTER_TYPE-typed value that identifies the type of register that the shader-trace object uses. + + + An index for one-dimensional arrays. This index is used by the following register types: + +
    +
  • vertex shader or pixel shader input: v[Index1D]
  • +
  • temp: r[Index1D]
  • +
  • output: o[Index1D]
  • +
  • immediate constant buffer: icb[Index1D]
  • +
  • sampler s[Index1D]
  • +
  • resource r[Index1D]
  • +
  • input patch constant register: vpc[Index1D]
  • +
  • unordered access view: u[Index1D]
  • +
  • thread group shared memory: g[Index1D]
  • +
+
+ + An array of indexes for two-dimensional arrays. These indexes are used by the following register types: + +
    +
  • GS input: v[Index2D[0]][Index2D[1]]
  • +
  • indexable temp: x[Index2D[0]][Index2D[1]]
  • +
  • constant buffer: cb#[#]
  • +
  • input control point register: vcp[Index2D[0]][Index2D[1]]
  • +
  • output control point register: vocp[Index2D[0]][Index2D[1]]
  • +
+
+ + The index of the operand, which starts from 0. + + + A combination of the following flags that are combined by using a bitwise OR operation. The resulting value specifies more about the trace register. + + + + + + + + + + +
FlagDescription
D3D11_TRACE_REGISTER_FLAGS_RELATIVE_INDEXING (0x1)Access to the register is part of the relative indexing of a register.
+
+ + + Get a shader-reflection variable by name. + Microsoft Docs: + Variable name. + + + + + Get the flags used during the call to create the device with D3D11CreateDevice. + Microsoft Docs: + + + + + Gets the properties of a render-target view. + Microsoft Docs: + A pointer to a D3D11_RENDER_TARGET_VIEW_DESC1 structure that receives the description of the render-target view. + + + + + Creates a render-target view for accessing resource data. + Microsoft Docs: + Pointer to a ID3D11Resource that represents a render target. This resource must have been created with the D3D11_BIND_RENDER_TARGET flag. + Pointer to a D3D11_RENDER_TARGET_VIEW_DESC that represents a render-target view description. Set this parameter to NULL to create a view that accesses all of the subresources in mipmap level 0. + Address of a pointer to an ID3D11RenderTargetView. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Set the number of milliseconds to sleep after IDXGISwapChain::Present is called. + Microsoft Docs: + Number of milliseconds to sleep after Present is called. + + + + + Creates a call-function linking node to use in the function-linking-graph. + Microsoft Docs: + The optional namespace for the function, or NULL if no namespace is needed. + A pointer to the ID3D11ModuleInstance interface for the library module that contains the function prototype. + The name of the function. + A pointer to a variable that receives a pointer to the ID3D11LinkingNode interface that represents the function in the function-linking-graph. + + + + + Gets an ID3D11ShaderReflectionType Interface interface containing the variable base class type. + Microsoft Docs: + + + + + Creates a context state object that holds all Microsoft Direct3D state and some Direct3D behavior. + Microsoft Docs: + A combination of + D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG + values that are combined by using a bitwise OR operation. + The resulting value specifies how to create the context state object. + The + D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADEDflag is currently the only defined flag. + If the original device was created with + D3D11_CREATE_DEVICE_SINGLETHREADED, + you must create all context state objects from that device with the + D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADEDflag. + + + + +If you set the single-threaded flag for both the context state object and the device, you guarantee that you will call the whole set of context methods and device methods only from one thread. + You therefore do not need to use critical sections to synchronize access to the device context, and the runtime can avoid working with those processor-intensive critical sections. + A pointer to an array of D3D_FEATURE_LEVEL values. The array can contain elements from the following list and determines the order of feature levels for which creation is attempted. + Unlike D3D11CreateDevice, you can't set pFeatureLevels to NULL because there is no default feature level array. + + + + +{ + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, +}; + + + The number of elements in pFeatureLevels. Unlike D3D11CreateDevice, you must set FeatureLevels to greater than 0 because you can't set pFeatureLevels to NULL. + The SDK version. You must set this parameter to D3D11_SDK_VERSION. + The globally unique identifier (GUID) for the emulated interface. This value specifies the behavior of the device when the context state object is active. Valid values are obtained by using the __uuidof operator on the ID3D10Device, ID3D10Device1, ID3D11Device, and ID3D11Device1 interfaces. See Remarks. + A pointer to a variable that receives a D3D_FEATURE_LEVEL value from the pFeatureLevels array. This is the first array value with which CreateDeviceContextState succeeded in creating the context state object. If the call to CreateDeviceContextState fails, the variable pointed to by pChosenFeatureLevel is set to zero. + The address of a pointer to an ID3DDeviceContextState object that represents the state of a Direct3D device. + + + + + Allows applications to annotate the end of a range of graphics commands. + Microsoft Docs: + + + + + Contains a response from the ID3D11VideoContext::QueryAuthenticatedChannel method. + Microsoft Docs: + + + + A D3D11_OMAC structure that contains a Message Authentication Code (MAC) of the data. The driver uses AESbased one-key CBC MAC (OMAC) to calculate this value for the block of data that appears after this structure member. + + + A GUID that specifies the query. For a list of possible values, see D3D11_AUTHENTICATED_QUERY_INPUT + + + A handle to the authenticated channel. To get the handle, call the ID3D11AuthenticatedChannel::GetChannelHandle method. + + + The query sequence number. + + + The result code for the query. + + + + Get the shader resource view's description. + Microsoft Docs: + A pointer to a D3D11_SHADER_RESOURCE_VIEW_DESC structure to be filled with data about the shader resource view. + + + + + The default tracking interface sets reference default tracking options. + Microsoft Docs: + + + + + Bind an array of shader resources to the domain-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources(ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to set to the device. + + + + + A module interface creates an instance of a module that is used for resource rebinding. + Microsoft Docs: + + + + + Identifies a texture resource for a video processor output view. + Microsoft Docs: + + + + The zero-based index into the array of subtextures. + + + + Initializes an instance of a shader module that is used for resource rebinding. + Microsoft Docs: + The name of a shader module to initialize. This can be NULL if you don't want to specify a name for the module. + The address of a pointer to an ID3D11ModuleInstance interface to initialize. + + + + + Given aprofile, checks whether the driver supports a specified output format. + Microsoft Docs: + A pointer to a GUID that identifies the profile. To get the list of supported profiles, call ID3D11VideoDevice::GetVideoDecoderProfile. + A DXGI_FORMAT value that specifies the output format. Typical values include DXGI_FORMAT_NV12 and DXGI_FORMAT_420_OPAQUE. + Receives the value TRUE if the format is supported, or FALSE otherwise. + + + + + Options that specify how to perform shader debug tracking. + Microsoft Docs: + + + + No debug tracking is performed. + + + Track the reading of uninitialized data. + + + Track read-after-write hazards. + + + Track write-after-read hazards. + + + Track write-after-write hazards. + + + Track that hazards are allowed in which data is written but the value does not change. + + + Track that only one type of atomic operation is used on an address. + + + Track read-after-write hazards across thread groups. + + + Track write-after-read hazards across thread groups. + + + Track write-after-write hazards across thread groups. + + + Track that only one type of atomic operation is used on an address across thread groups. + + + Track hazards that are specific to unordered access views (UAVs). + + + Track all hazards. + + + Track all hazards and track that hazards are allowed in which data is written but the value does not change. + + + All of the preceding tracking options are set except D3D11_SHADER_TRACKING_OPTION_IGNORE. + + + + Creates an array of 1D textures. + Microsoft Docs: + A pointer to a D3D11_TEXTURE1D_DESC structure that describes a 1D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generate mipmap levels automatically, set the number of mipmap levels to 0. + A pointer to an array of D3D11_SUBRESOURCE_DATA structures that describe subresources for the 1D texture resource. Applications can't specify NULL for pInitialData when creating IMMUTABLE resources (see D3D11_USAGE). If the resource is multisampled, pInitialData must be NULL because multisampled resources cannot be initialized with data when they are created. + +If you don't pass anything to pInitialData, the initial content of the memory for the resource is undefined. In this case, you need to write the resource content some other way before the resource is read. + +You can determine the size of this array from values in the MipLevels and ArraySize members of the D3D11_TEXTURE1D_DESC structure to which pDesc points by using the following calculation: + +MipLevels * ArraySize + +For more information about this array size, see Remarks. + A pointer to a buffer that receives a pointer to a ID3D11Texture1D interface for the created texture. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Create a geometry shader. + Microsoft Docs: + A pointer to the compiled shader. + Size of the compiled geometry shader. + A pointer to a class linkage interface (see ID3D11ClassLinkage); the value can be NULL. + Address of a pointer to a ID3D11GeometryShader interface. If this is NULL, all other parameters will be validated, and if all + parameters pass validation this API will return S_FALSE instead of S_OK. + + + + + This method returns the buffer of the current ID3D11ShaderReflectionVariable. + Microsoft Docs: + + + + + Gets a handle to the cryptographic session. + Microsoft Docs: + Receives a handle to the session. + + + + + Sets the constant buffers used by the compute-shader stage. + Microsoft Docs: + Index into the zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + + + + + For stereo 3D video, specifies whether the data in frame 0 or frame 1 is flipped, either horizontally or vertically. + Microsoft Docs: + + + + Neither frame is flipped. + + + The data in frame 0 is flipped. + + + The data in frame 1 is flipped. + + + + Contains input data for the ID3D11VideoContext::ConfigureAuthenticatedChannel method. + Microsoft Docs: + + + + A D3D11_OMAC structure that contains a Message Authentication Code (MAC) of the data. The driver uses AES-based one-key CBC MAC (OMAC) to calculate this value for the block of data that appears after this structure member. + + + A GUID that specifies the command. The following GUIDs are defined. + + + + + + + + + + + + + + + + + + + + + + + + + + +
ValueMeaning
+
D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION
+
+
+Associates a cryptographic session with a decoder device and a Direct3D device. + + + +Input data: D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT + + +
+
D3D11_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE
+
+
+Sets the level of encryption that is performed before protected content becomes accessible to the CPU or bus. + + + +Input data: D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT + + +
+
D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE
+
+
+Initializes the authenticated channel. + + + +Input data: D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT + + +
+
D3D11_AUTHENTICATED_CONFIGURE_PROTECTION
+
+
+Enables or disables protection for the device. + + + +Input data: D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT + + +
+
D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE
+
+
+Enables a process to open a shared resource, or disables a process from opening shared resources. + + + +Input data: D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT + + +
+
+ + A handle to the authenticated channel. To get the handle, call the ID3D11AuthenticatedChannel::GetChannelHandle method. + + + The query sequence number. At the start of the session, generate a cryptographically secure 32-bit random number to use as the starting sequence number. For each query, increment the sequence number by 1. + + + + Specifies the subresource from a 1D texture to use in a render-target view. + Microsoft Docs: + + + + The index of the mipmap level to use mip slice. + + + + Specifies capabilities of the video decoder. + Microsoft Docs: + + + + Indicates that the graphics driver supports at least a subset of downsampling operations. + + + Indicates that the decoding hardware cannot support the decode operation in real-time. Decoding is still supported for transcoding scenarios. + +With this capability, it is possible that decoding can occur in real-time if downsampling is enabled. + + + Indicates that the driver supports changing down sample parameters after the initial down sample parameters have been applied. For more information, see ID3D11VideoContext1::DecoderUpdateDownsampling. + + + + Sets the alpha fill mode for data that the video processor writes to the render target. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The alpha fill mode, specified as a D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE value. + The zero-based index of an input stream. This parameter is used if AlphaFillMode is D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM. Otherwise, the parameter is ignored. + + + + + Describes compute shader and raw and structured buffer support in the current graphics driver. + Microsoft Docs: + + + + TRUE if compute shaders and raw and structured buffers are supported; otherwise FALSE. + + + + Describes a function parameter. + Microsoft Docs: + + + + The name of the function parameter. + + + The HLSL semantic that is associated with this function parameter. This name includes the index, for example, SV_Target[n]. + + + A D3D_SHADER_VARIABLE_TYPE-typed value that identifies the variable type for the parameter. + + + A D3D_SHADER_VARIABLE_CLASS-typed value that identifies the variable class for the parameter as one of scalar, vector, matrix, object, and so on. + + + The number of rows for a matrix parameter. + + + The number of columns for a matrix parameter. + + + A D3D_INTERPOLATION_MODE-typed value that identifies the interpolation mode for the parameter. + + + A combination of D3D_PARAMETER_FLAGS-typed values that are combined by using a bitwise OR operation. The resulting value specifies semantic flags for the parameter. + + + The first input register for this parameter. + + + The first input register component for this parameter. + + + The first output register for this parameter. + + + The first output register component for this parameter. + + + + Sets the constant buffers that the domain-shader stage uses. + Microsoft Docs: + Index into the zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers being given to the device. + An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants. + An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096]. + + + + + Sets a driver-specific state on a video processing stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + A pointer to a GUID that identifies the operation. The meaning of this GUID is defined by the graphics driver. + The size of the pData buffer, in bytes. + A pointer to a buffer that contains private state data. The method passes this buffer directly to the driver without validation. It is the responsibility of the driver to validate the data. + + + + + Defines capabilities related to input formats for a Microsoft Direct3D 11 video processor. + Microsoft Docs: + + + + The video processor can deinterlace an input stream that contains interlaced RGB video. + + + The video processor can perform color adjustment on RGB video. + + + The video processor can perform luma keying on RGB video. + + + The video processor can deinterlace input streams with palettized color formats. + + + + Describes the blend state that you use in a call to ID3D11Device1::CreateBlendState1 to create a blend-state object. + Microsoft Docs: + + + + Specifies whether to use alpha-to-coverage as a multisampling technique when setting a pixel to a render target. For more info about using alpha-to-coverage, see Alpha-To-Coverage. + + + Specifies whether to enable independent blending in simultaneous render targets. Set to TRUE to enable independent blending. If set to FALSE, only the RenderTarget[0] members are used; RenderTarget[1..7] are ignored. + +See the Remarks section for restrictions. + + + An array of D3D11_RENDER_TARGET_BLEND_DESC1 structures that describe the blend states for render targets; these correspond to the eight render targets that can be bound to the output-merger stage at one time. + + + + Bind an index buffer to the input-assembler stage. + Microsoft Docs: + A pointer to an ID3D11Buffer object, that contains indices. The index buffer must have been created with + the D3D11_BIND_INDEX_BUFFER flag. + A DXGI_FORMAT that specifies the format of the data in the index buffer. The only formats allowed for index + buffer data are 16-bit (DXGI_FORMAT_R16_UINT) and 32-bit (DXGI_FORMAT_R32_UINT) integers. + Offset (in bytes) from the start of the index buffer to the first index to use. + + + + + Describes the subresource from a 2D texture to use in a render-target view. + Microsoft Docs: + + + + The index of the mipmap level to use mip slice. + + + The index (plane slice number) of the plane to use in the texture. + + + + A description of a single element for the input-assembler stage. + Microsoft Docs: + + + + The HLSL semantic associated with this element in a shader input-signature. + + + The semantic index for the element. A semantic index modifies a semantic, with an integer index number. A semantic index is only needed in a + case where there is more than one element with the same semantic. For example, a 4x4 matrix would have four components each with the semantic + name + + + +matrix + + + +, however each of the four component would have different semantic indices (0, 1, 2, and 3). + + + The data type of the element data. See DXGI_FORMAT. + + + An integer value that identifies the input-assembler (see input slot). Valid values are between 0 and 15, defined in D3D11.h. + + + Optional. Offset (in bytes) from the start of the vertex. Use D3D11_APPEND_ALIGNED_ELEMENT for convenience to define the current element directly + after the previous one, including any packing if necessary. + + + Identifies the input data class for a single input slot (see D3D11_INPUT_CLASSIFICATION). + + + The number of instances to draw using the same per-instance data before advancing in the buffer by one element. This value must be 0 for an + element that contains per-vertex data (the slot class is set to D3D11_INPUT_PER_VERTEX_DATA). + + + + ID3D11SwitchToRef interface + Microsoft Docs: + + + + + Draw non-indexed, non-instanced primitives. + Microsoft Docs: + Number of vertices to draw. + Index of the first vertex, which is usually an offset in a vertex buffer. + + + + + Sends queued-up commands in the command buffer to the graphics processing unit (GPU). + Microsoft Docs: + + + + + A resource interface provides common actions on all resources. + Microsoft Docs: + + + + + Set an array of sampler states to the domain-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). See Remarks. + + + + + Passes a value from a source linking node to a destination linking node. + Microsoft Docs: + A pointer to the ID3D11LinkingNode interface for the source linking node. + The zero-based index of the source parameter. + A pointer to the ID3D11LinkingNode interface for the destination linking node. + The zero-based index of the destination parameter. + + + + + Identifies the texture resource for a video decoder output view. + Microsoft Docs: + + + + The zero-based index of the texture. + + + + Gets the corresponding interface slot for a variable that represents an interface pointer. + Microsoft Docs: + Index of the array element to get the slot number for. For a non-array variable this value will be zero. + + + + + Sets the amount of downsampling to perform on the output. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + If TRUE, downsampling is enabled. Otherwise, downsampling is disabled and the Size member is ignored. + The sampling size. + + + + + Specifies how to handle the existing contents of a resource during a copy or update operation of a region within that resource. + Microsoft Docs: + + + + The existing contents of the resource cannot be overwritten. + + + The existing contents of the resource are undefined and can be discarded. + + + + Turns multithread protection on or off. + Microsoft Docs: + Set to true to turn multithread protection on, false to turn it off. + + + + + Get the constant buffers used by the domain-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers (see ID3D11Buffer) to be returned by the method. + + + + + Provides the video functionality of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Create a depth-stencil state object that encapsulates depth-stencil test information for the output-merger stage. + Microsoft Docs: + Pointer to a depth-stencil state description (see D3D11_DEPTH_STENCIL_DESC). + Address of a pointer to the depth-stencil state object created (see ID3D11DepthStencilState). + + + + + Gets the type of device context. + Microsoft Docs: + + + + + Creates a video decoder device for Microsoft Direct3D 11. + Microsoft Docs: + A pointer to a D3D11_VIDEO_DECODER_DESC structure that describes the video stream and the decoder profile. + A pointer to a D3D11_VIDEO_DECODER_CONFIG structure that specifies the decoder configuration. + Receives a pointer to the ID3D11VideoDecoder interface. The caller must release the interface. + + + + + Describes a shader signature. + Microsoft Docs: + + + + A per-parameter string that identifies how the data will be used. For more info, see Semantics. + + + Semantic index that modifies the semantic. Used to differentiate different parameters that use the same semantic. + + + The register that will contain this variable's data. + + + A D3D_NAME-typed value that identifies a predefined string that determines the functionality of certain pipeline stages. + + + A D3D_REGISTER_COMPONENT_TYPE-typed value that identifies the per-component-data type that is stored in a register. Each register can store up to four-components of data. + + + Mask which indicates which components of a register are used. + + + Mask which indicates whether a given component is never written (if the signature is an output signature) or always read (if the signature is an input signature). + + + Indicates which stream the geometry shader is using for the signature parameter. + + + A D3D_MIN_PRECISION-typed value that indicates the minimum desired interpolation precision. For more info, see Using HLSL minimum precision. + + + + Pop a retrieval filter from the top of the retrieval-filter stack. + Microsoft Docs: + + + + + This interface encapsulates methods for retrieving data from the GPU asynchronously. + Microsoft Docs: + + + + + Mark the end of a series of commands. + Microsoft Docs: + A pointer to an ID3D11Asynchronous interface. + + + + + Releases a buffer that was obtained by calling the ID3D11VideoContext::GetDecoderBuffer method. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoder. + The type of buffer to release. Specify the same value that was used in the Type parameter of the GetDecoderBuffer method. + + + + + Specifies the subresource from a 2D texture to use in a render-target view. + Microsoft Docs: + + + + The index of the mipmap level to use mip slice. + + + + Returns a group of video processor capabilities that are associated with frame-rate conversion, including deinterlacing and inverse telecine. + Microsoft Docs: + The zero-based index of the group to retrieve. To get the maximum index, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the RateConversionCapsCount member of the D3D11_VIDEO_PROCESSOR_CAPS structure. + A pointer to a D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS structure that receives the frame-rate conversion capabilities. + + + + + Gets the base class of a class. + Microsoft Docs: + + + + + Provides the video functionality of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Provides the video decoding and video processing capabilities of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Switches to a new session key. + Microsoft Docs: + A pointer to the ID3D11CryptoSession interface. + + + + + Set a hull shader to the device. + Microsoft Docs: + Pointer to a hull shader (see ID3D11HullShader). Passing in NULL disables the shader for this pipeline stage. + A pointer to an array of class-instance interfaces (see ID3D11ClassInstance). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to NULL if the shader does not use any interfaces. + The number of class-instance interfaces in the array. + + + + + Defines a group of video processor capabilities that are associated with frame-rate conversion, including deinterlacing and inverse telecine. + Microsoft Docs: + + + + The number of past reference frames required to perform the optimal video processing. + + + The number of future reference frames required to perform the optimal video processing. + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS enumeration. + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS enumeration. + + + The number of custom frame rates that the driver supports. To get the list of custom frame rates, call the ID3D11VideoProcessorEnumerator::GetVideoProcessorCustomRate method. + + + + Creates a deferred context, which can record command lists. + Microsoft Docs: + Reserved for future use. + Pass 0. + Upon completion of the method, the passed pointer to an ID3D11DeviceContext2 interface pointer is initialized. + + + + + Set an array of sampler states to the vertex shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). See Remarks. + + + + + Specifies whether the video processor input stream should be flipped vertically or horizontally. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + An index identifying the input stream. + True if mirroring should be enabled; otherwise, false. + True if the stream should be flipped horizontally; otherwise, false. + True if the stream should be flipped vertically; otherwise, false. + + + + + Describes feature data GPU virtual address support, including maximum address bits per resource and per process. + Microsoft Docs: + + + + The maximum GPU virtual address bits per resource. + + + The maximum GPU virtual address bits per process. + + + + The device interface represents a virtual adapter; it is used to create resources. ID3D11Device3 adds new methods to those in ID3D11Device2. + Microsoft Docs: + + + + + Sets the stream rotation for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies if the stream is to be rotated in a clockwise orientation. + Specifies the rotation of the stream. + + + + + Specifies the subresources from a 3D texture to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture3D for which ID3D11Device::CreateShaderResourceView creates a view) -1. + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + + Defines a color value for Microsoft Direct3D 11 video. + Microsoft Docs: + + + + A D3D11_VIDEO_COLOR_YCbCrA structure that contains a YCbCr color value. + + + A D3D11_VIDEO_COLOR_RGBA structure that contains an RGB color value. + + + + Get a description of how a resource is bound to a shader. + Microsoft Docs: + A zero-based resource index. + A pointer to an input-binding description. See D3D11_SHADER_INPUT_BIND_DESC. + + + + + Specifies how to access a resource that is used in a video processor input view. + Microsoft Docs: + + + + Not a valid value. + + + The resource will be accessed as a 2D texture. + + + + Describes the level of support for shared resources in the current graphics driver. + Microsoft Docs: + + + + A shared resource support tier. + + + + Get an interface by index. + Microsoft Docs: + Zero-based index. + + + + + A render-target-view interface represents the render-target subresources that can be accessed during rendering. + Microsoft Docs: + + + + + Contains an initialization vector (IV) for 128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher encryption. + Microsoft Docs: + + + + The IV, in big-endian format. + + + The block count, in big-endian format. + + + + Sets the output signature of the function-linking-graph. + Microsoft Docs: + An array of D3D11_PARAMETER_DESC structures for the parameters of the output signature. + The number of output parameters in the pOutputParameters array. + A pointer to a variable that receives a pointer to the ID3D11LinkingNode interface that represents the output signature of the function-linking-graph. + + + + + Get the size of the data (in bytes) that is output when calling ID3D11DeviceContext::GetData. + Microsoft Docs: + + + + + Gets the stream rotation for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies if the stream is rotated. + Specifies the rotation of the stream in a clockwise orientation. + + + + + Indicates whether two ID3D11ShaderReflectionType Interface pointers have the same underlying type. + Microsoft Docs: + A pointer to a ID3D11ShaderReflectionType Interface. + + + + + Describes an instance of a vertex shader to trace. + Microsoft Docs: + + + + The invocation number of the instance of the vertex shader. + + + + Specifies the elements in a buffer resource to use in a render-target view. + Microsoft Docs: + + + + Number of bytes between the beginning of the buffer and the first element to access. + + + The offset of the first element in the view to access, relative to element 0. + + + The total number of elements in the view. + + + The width of each element (in bytes). This can be determined from the format stored in the render-target-view description. + + + + A function-parameter-reflection interface accesses function-parameter info. + Microsoft Docs: + + + + + The different faces of a cube texture. + Microsoft Docs: + + + + Positive X face. + + + Negative X face. + + + Positive Y face. + + + Negative Y face. + + + Positive Z face. + + + Negative Z face. + + + + Links the shader and produces a shader blob that the Direct3D runtime can use. + Microsoft Docs: + A pointer to the ID3D11ModuleInstance interface for the shader module instance to link from. + The name of the shader module instance to link from. + The name for the shader blob that is produced. + Reserved. + A pointer to a variable that receives a pointer to the ID3DBlob interface that you can use to access the compiled shader code. + A pointer to a variable that receives a pointer to the ID3DBlob interface that you can use to access compiler error messages. + + + + + Describes a 3D texture. + Microsoft Docs: + + + + Texture width (in texels). The range is from 1 to D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture height (in texels). The range is from 1 to D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture depth (in texels). The range is from 1 to D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + The maximum number of mipmap levels in the texture. See the remarks in D3D11_TEX1D_SRV. Use 1 for a multisampled texture; or 0 to generate a full set of subtextures. + + + Texture format (see DXGI_FORMAT). + + + Value that identifies how the texture is to be read from and written to. The most common value is D3D11_USAGE_DEFAULT; see D3D11_USAGE for all possible values. + + + Flags (see D3D11_BIND_FLAG) for binding to pipeline stages. The flags can be combined by a logical OR. + + + Flags (see D3D11_CPU_ACCESS_FLAG) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR. + + + Flags (see D3D11_RESOURCE_MISC_FLAG) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined with a logical OR. + + + A D3D11_TEXTURE_LAYOUT-typed value that identifies the layout of the texture. + +The TextureLayout parameter selects both the actual layout of the texture in memory and the layout visible to the application while the texture is mapped. These flags may not be requested without CPU access also requested. + +It is illegal to set CPU access flags on default textures without also setting Layout to a value other than D3D11_TEXTURE_LAYOUT_UNDEFINED. + +D3D11_TEXTURE_LAYOUT_ROW_MAJOR may not be used with 3D textures. D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE may not be used with 3D textures that have mipmaps. + + + + Creates a blend-state object that encapsulates blend state for the output-merger stage and allows the configuration of logic operations. + Microsoft Docs: + A pointer to a D3D11_BLEND_DESC1 structure that describes blend state. + Address of a pointer to the ID3D11BlendState1 interface for the blend-state object created. + + + + + Get a message identifier to break on when a message with that identifier passes through the storage filter. + Microsoft Docs: + Message identifier to break on (see D3D11_MESSAGE_ID). + + + + + Identifies the type of resource being used. + Microsoft Docs: + + + + Resource is of unknown type. + + + Resource is a buffer. + + + Resource is a 1D texture. + + + Resource is a 2D texture. + + + Resource is a 3D texture. + + + + Type of data contained in an input slot. + Microsoft Docs: + + + + Input data is per-vertex data. + + + Input data is per-instance data. + + + + Gets the function reflector. + Microsoft Docs: + The zero-based index of the function reflector to retrieve. + + + + + Describes precision support options for shaders in the current graphics driver. + Microsoft Docs: + + + + A combination of D3D11_SHADER_MIN_PRECISION_SUPPORT-typed values that are combined by using a bitwise OR operation. The resulting value specifies minimum precision levels that the driver supports for the pixel shader. A value of zero indicates that the driver supports only full 32-bit precision for the pixel shader. + + + A combination of D3D11_SHADER_MIN_PRECISION_SUPPORT-typed values that are combined by using a bitwise OR operation. The resulting value specifies minimum precision levels that the driver supports for all other shader stages. A value of zero indicates that the driver supports only full 32-bit precision for all other shader stages. + + + + Represents a query object for querying information from the graphics processing unit (GPU). + Microsoft Docs: + + + + + Set the blend state of the output-merger stage. + Microsoft Docs: + Pointer to a blend-state interface (see ID3D11BlendState). Pass NULL for a default blend state. For more info about default blend state, see Remarks. + Array of blend factors, one for each RGBA component. The blend factors modulate values for the pixel shader, render target, or both. If you created the blend-state object with D3D11_BLEND_BLEND_FACTOR or D3D11_BLEND_INV_BLEND_FACTOR, the blending stage uses the non-NULL array of blend factors. If you didn't create the blend-state object with D3D11_BLEND_BLEND_FACTOR or D3D11_BLEND_INV_BLEND_FACTOR, the blending stage does not use the non-NULL array of blend factors; the runtime stores the blend factors, and you can later call ID3D11DeviceContext::OMGetBlendState to retrieve the blend factors. If you pass NULL, the runtime uses or stores a blend factor equal to { 1, 1, 1, 1 }. + 32-bit sample coverage. The default value is 0xffffffff. See remarks. + + + + + Get the description of a shader-reflection-variable type. + Microsoft Docs: + A pointer to a shader-type description (see D3D11_SHADER_TYPE_DESC). + + + + + Create a command list and record graphics commands into it. + Microsoft Docs: + A Boolean flag that determines whether the runtime saves deferred context state before it executes FinishCommandList and restores it afterwards. Use TRUE to indicate that the runtime needs to save and restore the state. Use FALSE to indicate that the runtime will not save or restore any state. In this case, the deferred context will return to its default state after the call to FinishCommandList completes. For information about default state, see ID3D11DeviceContext::ClearState. Typically, use FALSE unless you restore the state to be nearly equivalent to the state that the runtime would restore if you passed TRUE. When you use FALSE, you can avoid unnecessary and inefficient state transitions. + + +
Note  This parameter does not affect the command list that the current call to FinishCommandList returns. However, this parameter affects the command list of the next call to FinishCommandList on the same deferred context. +
+
 
+ Upon completion of the method, the passed pointer to an ID3D11CommandList interface pointer is initialized with the recorded command list information. The resulting ID3D11CommandList object is immutable and can only be used with ID3D11DeviceContext::ExecuteCommandList. +
+
+ + + Get the number of messages that are able to pass through a retrieval filter. + Microsoft Docs: + + + + + Gets the capabilities of the video processor. + Microsoft Docs: + A pointer to a D3D11_VIDEO_PROCESSOR_CAPS structure that receives the capabilities. + + + + + Push an empty retrieval filter onto the retrieval-filter stack. + Microsoft Docs: + + + + + Gets the current target rectangle for the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + Receives the value TRUE if the target rectangle was explicitly set using the ID3D11VideoContext::VideoProcessorSetOutputTargetRect method. Receives the value FALSE if the target rectangle was disabled or was never set. + If Enabled receives the value TRUE, this parameter receives the target rectangle. Otherwise, this parameter is ignored. + + + + + Describes a unordered-access 2D texture resource. + Microsoft Docs: + + + + The mipmap slice index. + + + The index (plane slice number) of the plane to use in the texture. + + + + Describes a query. + Microsoft Docs: + + + + Type of query (see D3D11_QUERY). + + + Miscellaneous flags (see D3D11_QUERY_MISC_FLAG). + + + + Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE command. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_CONFIGURE_INPUT structure that contains the command GUID and other data. + + + A D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE value that specifies the type of process. + +To specify the Desktop Window Manager (DWM) process, set this member to D3D11_PROCESSIDTYPE_DWM. Otherwise, set this member to D3D11_PROCESSIDTYPE_HANDLE and set the ProcessHandle member to a valid handle. + + + A process handle. If the ProcessType member equals D3D11_PROCESSIDTYPE_HANDLE, the ProcessHandle member specifies a handle to a process. Otherwise, the value is ignored. + + + If TRUE, the specified process has access to restricted shared resources. + + + + Describes the size of a tiled region. + Microsoft Docs: + + + + The number of tiles in the tiled region. + + + Specifies whether the runtime uses the Width, Height, and Depth members to define the region. + +If TRUE, the runtime uses the Width, Height, and Depth members to define the region. + +If FALSE, the runtime ignores the Width, Height, and Depth members and uses the NumTiles member to traverse tiles in the resource linearly across x, then y, then z (as applicable) and then spills over mipmaps/arrays in subresource order. For example, use this technique to map an entire resource at once. + +Regardless of whether you specify TRUE or FALSE for bUseBox, you use a D3D11_TILED_RESOURCE_COORDINATE structure to specify the starting location for the region within the resource as a separate parameter outside of this structure by using x, y, and z coordinates. + +When the region includes mipmaps that are packed with nonstandard tiling, bUseBox must be FALSE because tile dimensions are not standard and the app only knows a count of how many tiles are consumed by the packed area, which is per array slice. The corresponding (separate) starting location parameter uses x to offset into the flat range of tiles in this case, and y and z coordinates must each be 0. + + + The width of the tiled region, in tiles. Used for buffer and 1D, 2D, and 3D textures. + + + The height of the tiled region, in tiles. Used for 2D and 3D textures. + + + The depth of the tiled region, in tiles. Used for 3D textures or arrays. For arrays, used for advancing in depth jumps to next slice of same mipmap size, which isn't contiguous in the subresource counting space if there are multiple mipmaps. + + + + Draw non-indexed, instanced primitives. + Microsoft Docs: + Number of vertices to draw. + Number of instances to draw. + Index of the first vertex. + A value added to each index before reading per-instance data from a vertex buffer. + + + + + Creates a 3D texture. + Microsoft Docs: + A pointer to a D3D11_TEXTURE3D_DESC1 structure that describes a 3D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generate mipmap levels automatically, set the number of mipmap levels to 0. + A pointer to an array of D3D11_SUBRESOURCE_DATA structures that describe subresources for the 3D texture resource. Applications can't specify NULL for pInitialData when creating IMMUTABLE resources (see D3D11_USAGE). If the resource is multisampled, pInitialData must be NULL because multisampled resources can't be initialized with data when they are created. + +If you don't pass anything to pInitialData, the initial content of the memory for the resource is undefined. In this case, you need to write the resource content some other way before the resource is read. + +You can determine the size of this array from the value in the MipLevels member of the D3D11_TEXTURE3D_DESC1 structure to which pDesc1 points. Arrays of 3D volume textures aren't supported. + +For more information about this array size, see Remarks. + A pointer to a memory block that receives a pointer to a ID3D11Texture3D1 interface for the created texture. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Creates class linkage libraries to enable dynamic shader linkage. + Microsoft Docs: + A pointer to a class-linkage interface pointer (see ID3D11ClassLinkage). + + + + + Describes an array of unordered-access 2D texture resources. + Microsoft Docs: + + + + The mipmap slice index. + + + The zero-based index of the first array slice to be accessed. + + + The number of slices in the array. + + + + A linker interface is used to link a shader module. + Microsoft Docs: + + + + + Get the support of a given format on the installed video device. + Microsoft Docs: + A DXGI_FORMAT enumeration that describes a format for which to check for support. + A bitfield of D3D11_FORMAT_SUPPORT enumeration values describing how the specified format is supported on the installed device. + The values are ORed together. + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A handle to the device. + + + A handle to the cryptographic session. + + + The number of output IDs associated with the specified device and cryptographic session. + + + + Gets the current output color space for the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + A pointer to a D3D11_VIDEO_PROCESSOR_COLOR_SPACE structure. The method fills in the structure with the output color space. + + + + + Gets the HDR metadata associated with the video stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + Identifies the input stream. + The type of the HDR metadata currently associated with the stream. + The size of the memory referenced by pHDRMetaData. + +If pHDRMetaData is NULL, Size should be 0. + Pointer to a buffer that receives the HDR metadata. + +This parameter can be NULL. + + + + + Push a retrieval filter onto the retrieval-filter stack. + Microsoft Docs: + Pointer to a retrieval filter (see D3D11_INFO_QUEUE_FILTER). + + + + + Sets graphics processing unit (GPU) debug reference tracking options. + Microsoft Docs: + A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on"; otherwise the tracking option is set to "off." + + + + + Updates the decoder downsampling parameters. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. + The resolution, format, and colorspace of the output/display frames. This is the destination resolution and format of the downsample operation. + + + + + Gets the type of encryption that is supported by this session. + Microsoft Docs: + Receives a GUID that specifies the encryption type. The following GUIDs are defined. + + + + + + + + + + +
ValueMeaning
+
D3D11_CRYPTO_TYPE_AES128_CTR
+
+
+128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher. + + +
+
+
+ + + Identifies how to check multisample quality levels. + Microsoft Docs: + + + + Indicates to check the multisample quality levels of a tiled resource. + + + + Describes a unordered-access 1D texture resource. + Microsoft Docs: + + + + The mipmap slice index. + + + + Gets the luma key for an input stream of the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives the value TRUE if luma keying is enabled, or FALSE otherwise. + Receives the lower bound for the luma key. The valid range is [0…1]. + Receives the upper bound for the luma key. The valid range is [0…1]. + + + + + Describes how a shader resource is bound to a shader input. + Microsoft Docs: + + + + Name of the shader resource. + + + A D3D_SHADER_INPUT_TYPE-typed value that identifies the type of data in the resource. + + + Starting bind point. + + + Number of contiguous bind points for arrays. + + + A combination of D3D_SHADER_INPUT_FLAGS-typed values for shader input-parameter options. + + + If the input is a texture, the D3D_RESOURCE_RETURN_TYPE-typed value that identifies the return type. + + + A D3D_SRV_DIMENSION-typed value that identifies the dimensions of the bound resource. + + + The number of samples for a multisampled texture; when a texture isn't multisampled, the value is set to -1 (0xFFFFFFFF). + + + + Specifies a multi-sample pattern type. + Microsoft Docs: + + + + Pre-defined multi-sample patterns required for Direct3D 11 and Direct3D 10.1 hardware. + + + Pattern where all of the samples are located at the pixel center. + + + + The sampler-state interface holds a description for sampler state that you can bind to any shader stage of the pipeline for reference by texture sample operations. + Microsoft Docs: + + + + + Get a shader-variable type. + Microsoft Docs: + + + + + Creates a cryptographic session to encrypt video content that is sent to the graphics driver. + Microsoft Docs: + A pointer to a GUID that specifies the type of encryption to use. The following GUIDs are defined. + + + + + + + + + + + + +
ValueMeaning
+
D3D11_CRYPTO_TYPE_AES128_CTR
+
+
+128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher. + + +
+ A pointer to a GUID that specifies the decoding profile. For a list of possible values, see ID3D11VideoDevice::GetVideoDecoderProfile. If decoding will not be used, set this parameter to NULL. + A pointer to a GUID that specifies the type of key exchange. + + + + + + + + + + +
ValueMeaning
+
D3D11_KEY_EXCHANGE_RSAES_OAEP
+
+
+The caller will create the session key, encrypt it with RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP) by using the driver's public key, and pass the session key to the driver. + +
+ Receives a pointer to the ID3D11CryptoSession interface. The caller must release the interface. +
+
+ + + Identifies a video processor filter. + Microsoft Docs: + + + + Brightness filter. + + + Contrast filter. + + + Hue filter. + + + Saturation filter. + + + Noise reduction filter. + + + Edge enhancement filter. + + + Anamorphic scaling filter. + + + Stereo adjustment filter. When stereo 3D video is enabled, this filter adjusts the offset between the left and right views, allowing the user to reduce potential eye strain. + +The filter value indicates the amount by which the left and right views are adjusted. A positive value shifts the images away from each other: the left image toward the left, and the right image toward the right. A negative value shifts the images in the opposite directions, closer to each other. + + + + Get a pointer to the device that created this interface. + Microsoft Docs: + Address of a pointer to a device (see ID3D11Device). + + + + + Sets the constant buffers that the pixel shader pipeline stage uses, and enables the shader to access other parts of the buffer. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers being given to the device. + An array that holds the offsets into the buffers that ppConstantBuffers specifies. + Each offset specifies where, from the shader's point of view, each constant buffer starts. + Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). + Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. + Each offset must be a multiple of 16 constants. + An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. + Each number specifies the number of constants that are contained in the constant buffer that the shader uses. + Each number of constants starts from its respective offset that is specified in the pFirstConstant array. + Each number of constants must be a multiple of 16 constants, in the range [0..4096]. + + + + + Specifies the subresources from an array 2D textures that are accessible to a depth-stencil view. + Microsoft Docs: + + + + The index of the first mipmap level to use. + + + The index of the first texture to use in an array of textures. + + + Number of textures to use. + + + + Rebinds a constant buffer from a source slot to a destination slot. + Microsoft Docs: + The source slot number for rebinding. + The destination slot number for rebinding. + The offset in bytes of the destination slot for rebinding. The offset must have 16-byte alignment. + + + + + Sets the reference rasterizer's race-condition tracking options for a specific shader. + Microsoft Docs: + A pointer to the IUnknown interface of a shader. + A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on"; otherwise the tracking option is set to "off." + + + + + Gets the minimum feature level. + Microsoft Docs: + A pointer to one of the enumerated values in D3D_FEATURE_LEVEL, which represents the minimum feature level. + + + + + Specifies that the shader trace recorded and is ready to use. + Microsoft Docs: + An optional pointer to a variable that receives the number of times that a matching invocation for the trace occurred. If not used, set to NULL. +For more information about this number, see Remarks. + + + + + Queries whether automatic processing features of the video processor are enabled. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives the value TRUE if automatic processing features are enabled, or FALSE otherwise. + + + + + Find out if multithread protection is turned on or not. + Microsoft Docs: + + + + + Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION command. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_CONFIGURE_INPUT structure that contains the command GUID and other data. + + + A handle to the decoder device. Get this from ID3D11VideoDecoder::GetDriverHandle. + + + A handle to the cryptographic session. Get this from ID3D11CryptoSession::GetCryptoSessionHandle. + + + A handle to the Direct3D device. Get this from D3D11VideoContext::QueryAuthenticatedChannel using D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE. + + + + Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE command. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_CONFIGURE_INPUT structure that contains the command GUID and other data. + + + The initial sequence number for queries. + + + The initial sequence number for commands. + + + + Describes a compressed buffer for decoding. + Microsoft Docs: + + + + The type of buffer, specified as a member of the D3D11_VIDEO_DECODER_BUFFER_TYPE enumeration. + + + Reserved. + + + The offset of the relevant data from the beginning of the buffer, in bytes. This value must be zero. + + + The macroblock address of the first macroblock in the buffer. The macroblock address is given in raster scan order. + + + The number of macroblocks of data in the buffer. This count includes skipped macroblocks. + + + Reserved. Set to zero. + + + Reserved. Set to zero. + + + Reserved. Set to zero. + + + Reserved. Set to zero. + + + A pointer to a buffer that contains an initialization vector (IV) for encrypted data. If the decode buffer does not contain encrypted data, set this member to NULL. + + + The size of the buffer specified in the pIV parameter. If pIV is NULL, set this member to zero. + + + If TRUE, the video surfaces are partially encrypted. + + + A D3D11_ENCRYPTED_BLOCK_INFO structure that specifies which bytes of the surface are encrypted. + + + + A function-reflection interface accesses function info. + Microsoft Docs: + + + + + Create a compute shader. + Microsoft Docs: + A pointer to a compiled shader. + Size of the compiled shader in pShaderBytecode. + A pointer to a ID3D11ClassLinkage, which represents class linkage interface; the value can be NULL. + Address of a pointer to an ID3D11ComputeShader interface. If this is NULL, + all other parameters will be validated; if validation passes, CreateComputeShader returns S_FALSE instead of S_OK. + + + + + Gets the description for rasterizer state that you used to create the rasterizer-state object. + Microsoft Docs: + A pointer to a D3D11_RASTERIZER_DESC2 structure that receives a description of the rasterizer state. This rasterizer state can specify forced sample count and conservative rasterization mode. + + + + + Gets a query description. + Microsoft Docs: + A pointer to a D3D11_QUERY_DESC1 structure that receives a description of the query. + + + + + Get the type of the resource. + Microsoft Docs: + Pointer to the resource type (see D3D11_RESOURCE_DIMENSION). + + + + + Contains the response from the ID3D11VideoContext::ConfigureAuthenticatedChannel method. + Microsoft Docs: + + + + A D3D11_OMAC structure that contains a Message Authentication Code (MAC) of the data. The driver uses AES-based one-key CBC MAC (OMAC) to calculate this value for the block of data that appears after this structure member. + + + A GUID that specifies the command. For a list of GUIDs, see D3D11_AUTHENTICATED_CONFIGURE_INPUT. + + + A handle to the authenticated channel. + + + The command sequence number. + + + The result code for the command. + + + + Describes the content-protection capabilities of a graphics driver. + Microsoft Docs: + + + + A bitwise OR of zero or more flags from the D3D11_CONTENT_PROTECTION_CAPS enumeration. + + + The number of cryptographic key-exchange types that are supported by the driver. To get the list of key-exchange types, call the ID3D11VideoDevice::CheckCryptoKeyExchange method. + + + The encyrption block size, in bytes. The size of data to be encrypted must be a multiple of this value. + + + The total amount of memory, in bytes, that can be used to hold protected surfaces. + + + + Debug messages for setting up an info-queue filter (see D3D11_INFO_QUEUE_FILTER); use these messages to allow or deny message categories to pass through the storage and retrieval filters. + Microsoft Docs: + + + + + Creates a geometry shader that can write to streaming output buffers. + Microsoft Docs: + A pointer to the compiled geometry shader for a standard geometry shader plus stream output. For info on how to get this pointer, see Getting a Pointer to a Compiled Shader. + +To create the stream output without using a geometry shader, pass a pointer to the output signature for the prior stage. To obtain this output signature, call the D3DGetOutputSignatureBlob compiler function. You can also pass a pointer to the compiled shader for the prior stage (for example, the vertex-shader stage or domain-shader stage). This compiled shader provides the output signature for the data. + Size of the compiled geometry shader. + Pointer to a D3D11_SO_DECLARATION_ENTRY array. Cannot be NULL if NumEntries > 0. + The number of entries in the stream output declaration ( ranges from 0 to D3D11_SO_STREAM_COUNT * D3D11_SO_OUTPUT_COMPONENT_COUNT ). + An array of buffer strides; each stride is the size of an element for that buffer. + The number of strides (or buffers) in pBufferStrides (ranges from 0 to D3D11_SO_BUFFER_SLOT_COUNT). + The index number of the stream to be sent to the rasterizer stage (ranges from 0 to D3D11_SO_STREAM_COUNT - 1). + Set to D3D11_SO_NO_RASTERIZED_STREAM if no stream is to be rasterized. + A pointer to a class linkage interface (see ID3D11ClassLinkage); the value can be NULL. + Address of a pointer to an ID3D11GeometryShader interface, representing the geometry shader that was created. + Set this to NULL to validate the other parameters; if validation passes, the method will return S_FALSE instead of S_OK. + + + + + Get a message severity level to break on when a message with that severity level passes through the storage filter. + Microsoft Docs: + Message severity level to break on (see D3D11_MESSAGE_SEVERITY). + + + + + Get an output-parameter description for a shader. + Microsoft Docs: + A zero-based parameter index. + A pointer to a shader-output-parameter description. See D3D11_SIGNATURE_PARAMETER_DESC. + + + + + Types of magnification or minification sampler filters. + Microsoft Docs: + + + + Point filtering used as a texture magnification or minification filter. The texel with coordinates nearest to the desired pixel value is used. The texture filter to be used between mipmap levels is nearest-point mipmap filtering. The rasterizer uses the color from the texel of the nearest mipmap texture. + + + Bilinear interpolation filtering used as a texture magnification or minification filter. A weighted average of a 2 x 2 area of texels surrounding the desired pixel is used. The texture filter to use between mipmap levels is trilinear mipmap interpolation. The rasterizer linearly interpolates pixel color, using the texels of the two nearest mipmap textures. + + + + Describes the elements in a buffer to use in a unordered-access view. + Microsoft Docs: + + + + The zero-based index of the first element to be accessed. + + + The number of elements in the resource. For structured buffers, this is the number of structures in the buffer. + + + View options for the resource (see D3D11_BUFFER_UAV_FLAG). + + + + Fills the parameter descriptor structure for the function's parameter. + Microsoft Docs: + A pointer to a D3D11_PARAMETER_DESC structure that receives a description of the function's parameter. + + + + + Discards a resource from the device context. + Microsoft Docs: + A pointer to the ID3D11Resource interface for the resource to discard. The resource must have been created with usage D3D11_USAGE_DEFAULT or D3D11_USAGE_DYNAMIC, otherwise the runtime drops the call to DiscardResource; if the debug layer is enabled, the runtime returns an error message. + + + + + Describes a unordered-access 3D texture resource. + Microsoft Docs: + + + + The mipmap slice index. + + + The zero-based index of the first depth slice to be accessed. + + + The number of depth slices. + + + + Gets the error from the last function call of the function-linking-graph. + Microsoft Docs: + An pointer to a variable that receives a pointer to the ID3DBlob interface that you can use to access the error. + + + + + Specifies the subresource from a 2D texture that is accessible to a depth-stencil view. + Microsoft Docs: + + + + The index of the first mipmap level to use. + + + + Discards a resource view from the device context. + Microsoft Docs: + A pointer to the ID3D11View interface for the resource view to discard. The resource that underlies the view must have been created with usage D3D11_USAGE_DEFAULT or D3D11_USAGE_DYNAMIC, otherwise the runtime drops the call to DiscardView; if the debug layer is enabled, the runtime returns an error message. + + + + + Gets the number of interface slots in a shader. + Microsoft Docs: + + + + + Gets the function parameter reflector. + Microsoft Docs: + The zero-based index of the function parameter reflector to retrieve. + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ATTRIBUTES query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A bitwise OR of flags from the D3D11_BUS_TYPE enumeration. + + + If TRUE, contiguous blocks of video memory may be accessible to the CPU or the bus. + + + If TRUE, non-contiguous blocks of video memory may be accessible to the CPU or the bus. + + + + Copy a multisampled resource into a non-multisampled resource. + Microsoft Docs: + Destination resource. Must be a created with the D3D11_USAGE_DEFAULT flag and be single-sampled. See ID3D11Resource. + A zero-based index, that identifies the destination subresource. Use D3D11CalcSubresource to calculate the index. + Source resource. Must be multisampled. + The source subresource of the source resource. + A DXGI_FORMAT that indicates how the multisampled resource will be resolved to a single-sampled resource. + See remarks. + + + + + Performs a video processing operation on one or more input samples and writes the result to a Direct3D surface. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call the ID3D11VideoDevice::CreateVideoProcessor method. + A pointer to the ID3D11VideoProcessorOutputView interface for the output surface. The output of the video processing operation will be written to this surface. + The frame number of the output video frame, indexed from zero. + The number of input streams to process. + A pointer to an array of D3D11_VIDEO_PROCESSOR_STREAM structures that contain information about the input streams. The caller allocates the array and fills in each structure. The number of elements in the array is given in the StreamCount parameter. + + + + + Describes how a video stream is interlaced. + Microsoft Docs: + + + + Frames are progressive. + + + Frames are interlaced. The top field of each frame is displayed first. + + + Frame are interlaced. The bottom field of each frame is displayed first. + + + + Get a shader-reflection-variable type by index. + Microsoft Docs: + Zero-based index. + + + + + Gets a cryptographic key-exchange mechanism that is supported by the driver. + Microsoft Docs: + A pointer to a GUID that specifies the type of encryption to be used. The following GUIDs are defined. + + + + + + + + + + +
ValueMeaning
+
D3D11_CRYPTO_TYPE_AES128_CTR
+
+
+128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher. + + +
+ A pointer to a GUID that specifies the decoding profile. To get profiles that the driver supports, call ID3D11VideoDevice::GetVideoDecoderProfile. If decoding will not be used, set this parameter to NULL. + The zero-based index of the key-exchange type. The driver reports the number of types in the KeyExchangeTypeCount member of the D3D11_VIDEO_CONTENT_PROTECTION_CAPS structure. + Receives a GUID that identifies the type of key exchange. +
+
+ + + Indicates that decoder downsampling will be used and that the driver should allocate the appropriate reference frames. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. + The color space information of the reference frame data. + The resolution, format, and colorspace of the output/display frames. This is the destination resolution and format of the downsample operation. + The number of reference frames to be used in the operation. + + + + + Gets a variable by name. + Microsoft Docs: + A pointer to a string containing the variable name. + + + + + Describes a shader-trace object. + Microsoft Docs: + + + + A D3D11_SHADER_TYPE-typed value that identifies the type of shader that the shader-trace object describes. This member also determines which shader-trace type to use in the following union. + + + A combination of the following flags that are combined by using a bitwise OR operation. The resulting value specifies how ID3D11ShaderTraceFactory::CreateShaderTrace creates the shader-trace object. + + + + + + + + + + + + + + +
FlagDescription
D3D11_SHADER_TRACE_FLAG_RECORD_REGISTER_WRITES (0x1)The shader trace object records register-writes.
D3D11_SHADER_TRACE_FLAG_RECORD_REGISTER_READS (0x2)The shader trace object records register-reads.
+
+ + A D3D11_VERTEX_SHADER_TRACE_DESC structure that describes an instance of a vertex shader to trace. + + + A D3D11_HULL_SHADER_TRACE_DESC structure that describes an instance of a hull shader to trace. + + + A D3D11_DOMAIN_SHADER_TRACE_DESC structure that describes an instance of a domain shader to trace. + + + A D3D11_GEOMETRY_SHADER_TRACE_DESC structure that describes an instance of a geometry shader to trace. + + + A D3D11_PIXEL_SHADER_TRACE_DESC structure that describes an instance of a pixel shader to trace. + + + A D3D11_COMPUTE_SHADER_TRACE_DESC structure that describes an instance of a compute shader to trace. + + + + Gets the initialization flags associated with the current deferred context. + Microsoft Docs: + + + + + Rebinds a resource by name as an unordered access view (UAV) to destination slots. + Microsoft Docs: + The name of the resource for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + Provides a communication channel with the graphics driver or the Microsoft Direct3D runtime. + Microsoft Docs: + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + The number of protected, shared resources that can be opened by any process without restrictions. + + + + Get a counter description. + Microsoft Docs: + Pointer to a counter description (see D3D11_COUNTER_DESC). + + + + + Gets the format of an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Receives a D3D11_VIDEO_FRAME_FORMAT value that specifies whether the stream contains interlaced or progressive frames. + + + + + Get an array of sampler states from the pixel shader pipeline stage. + Microsoft Docs: + Index into a zero-based array to begin getting samplers from (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Arry of sampler-state interface pointers (see ID3D11SamplerState) to be returned by the device. + + + + + Get the reason why the device was removed. + Microsoft Docs: + + + + + Describes a 2D texture. + Microsoft Docs: + + + + Texture width (in texels). The range is from 1 to D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). For a texture cube-map, the range is from 1 to D3D11_REQ_TEXTURECUBE_DIMENSION (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture height (in texels). The range is from 1 to D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). For a texture cube-map, the range is from 1 to D3D11_REQ_TEXTURECUBE_DIMENSION (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + The maximum number of mipmap levels in the texture. See the remarks in D3D11_TEX1D_SRV. Use 1 for a multisampled texture; or 0 to generate a full set of subtextures. + + + Number of textures in the texture array. The range is from 1 to D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048). For a texture cube-map, this value is a multiple of 6 (that is, 6 times the value in the NumCubes member of D3D11_TEXCUBE_ARRAY_SRV), and the range is from 6 to 2046. The range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture format (see DXGI_FORMAT). + + + Structure that specifies multisampling parameters for the texture. See DXGI_SAMPLE_DESC. + + + Value that identifies how the texture is to be read from and written to. The most common value is D3D11_USAGE_DEFAULT; see D3D11_USAGE for all possible values. + + + Flags (see D3D11_BIND_FLAG) for binding to pipeline stages. The flags can be combined by a logical OR. + + + Flags (see D3D11_CPU_ACCESS_FLAG) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR. + + + Flags (see D3D11_RESOURCE_MISC_FLAG) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined by using a logical OR. For a texture cube-map, set the D3D11_RESOURCE_MISC_TEXTURECUBE flag. Cube-map arrays (that is, ArraySize > 6) require feature level D3D_FEATURE_LEVEL_10_1 or higher. + + + + Queries the driver for its content protection capabilities. + Microsoft Docs: + A pointer to a GUID that specifies the type of encryption to be used. The following GUIDs are defined. + + + + + + + + + + +
ValueMeaning
+
D3D11_CRYPTO_TYPE_AES128_CTR
+
+
+128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher. + + +
+  + +If no encryption will be used, set this parameter to NULL. + A pointer to a GUID that specifies the decoding profile. To get profiles that the driver supports, call ID3D11VideoDevice::GetVideoDecoderProfile. If decoding will not be used, set this parameter to NULL. + +The driver might disallow some combinations of encryption type and profile. + A pointer to a D3D11_VIDEO_CONTENT_PROTECTION_CAPS structure. The method fills in this structure with the driver's content protection capabilities. +
+
+ + + Remove a storage filter from the top of the storage-filter stack. + Microsoft Docs: + + + + + Rebinds an unordered access view (UAV) from source slot to destination slot. + Microsoft Docs: + The first source slot number for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + Set an array of sampler states to the hull-shader stage. + Microsoft Docs: + Index into the zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). See Remarks. + + + + + The device interface represents a virtual adapter; it is used to create resources. ID3D11Device1 adds new methods to those in ID3D11Device. + Microsoft Docs: + + + + + Specifies a range of tile mappings to use with ID3D11DeviceContext2::UpdateTiles. + Microsoft Docs: + + + + The tile range is NULL. + + + Skip the tile range. + + + Reuse a single tile in the tile range. + + + + Provides threading protection for critical sections of a multi-threaded application. + Microsoft Docs: + + + + + Execute a command list from a thread group. + Microsoft Docs: + The number of groups dispatched in the x direction. ThreadGroupCountX must be less than or equal to D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535). + The number of groups dispatched in the y direction. ThreadGroupCountY must be less than or equal to D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535). + The number of groups dispatched in the z direction. ThreadGroupCountZ must be less than or equal to D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535). + In feature level 10 the value for ThreadGroupCountZ must be 1. + + + + + Allows apps to determine when either a capture or profiling request is enabled. + Microsoft Docs: + + + + + Handles the creation, wrapping, and releasing of D3D11 resources for Direct3D11on12. + Microsoft Docs: + + + + + A shader-resource-view interface specifies the subresources a shader can access during rendering. Examples of shader resources include a constant buffer, a texture buffer, and a texture. + Microsoft Docs: + + + + + Comparison options. + Microsoft Docs: + + + + Never pass the comparison. + + + If the source data is less than the destination data, the comparison passes. + + + If the source data is equal to the destination data, the comparison passes. + + + If the source data is less than or equal to the destination data, the comparison passes. + + + If the source data is greater than the destination data, the comparison passes. + + + If the source data is not equal to the destination data, the comparison passes. + + + If the source data is greater than or equal to the destination data, the comparison passes. + + + Always pass the comparison. + + + + Draw geometry of an unknown size. + Microsoft Docs: + + + + + Queries whether the video processor produces stereo video frames. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + Receives the value TRUE if stereo output is enabled, or FALSE otherwise. + + + + + Get an array of sampler states from the vertex shader pipeline stage. + Microsoft Docs: + Index into a zero-based array to begin getting samplers from (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Arry of sampler-state interface pointers (see ID3D11SamplerState) to be returned by the device. + + + + + Push a copy of storage filter currently on the top of the storage-filter stack onto the storage-filter stack. + Microsoft Docs: + + + + + Get a counter's information. + Microsoft Docs: + Pointer to counter information (see D3D11_COUNTER_INFO). + + + + + ID3D11SwitchToRef::GetUseRef method + Microsoft Docs: + + + + + Sets the constant buffers used by the geometry shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + + + + + Specifies if the hardware and driver support conservative rasterization and at what tier level. + Microsoft Docs: + + + + Conservative rasterization isn't supported. + + + Tier_1 conservative rasterization is supported. + + + Tier_2 conservative rasterization is supported. + + + Tier_3 conservative rasterization is supported. + + + + A query interface queries information from the GPU. + Microsoft Docs: + + + + + Gets the class-instance object that represents the specified HLSL class. + Microsoft Docs: + The name of a class for which to get the class instance. + The index of the class instance. + The address of a pointer to an ID3D11ClassInstance interface to initialize. + + + + + Describes which resources are supported by the current graphics driver for a given format. + Microsoft Docs: + + + + +DXGI_FORMAT to return information on. + + + Combination of D3D11_FORMAT_SUPPORT flags indicating which resources are supported. + + + + Describes Direct3D 9 feature options in the current graphics driver. + Microsoft Docs: + + + + Specifies whether the driver supports the nonpowers-of-2-unconditionally feature. For more information about this feature, see feature level. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to FALSE if the hardware and driver support the powers-of-2 (2D textures must have widths and heights specified as powers of two) feature or the nonpowers-of-2-conditionally feature. For more information about this feature, see feature level. + + + + Options for performance counters. + Microsoft Docs: + + + + Define a performance counter that is dependent on the hardware device. + + + + Gets the constant buffers that the hull-shader stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers to be returned by the method. + A pointer to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to NULL if the buffers do not have offsets. + A pointer to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to NULL if it doesn't specify the numbers of constants in each buffer. + + + + + Specifies how a video format can be used for video processing. + Microsoft Docs: + + + + The format can be used as the input to the video processor. + + + The format can be used as the output from the video processor. + + + + Rebinds a sampler by name to destination slots. + Microsoft Docs: + The name of the sampler for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + Gets an array of views for an unordered resource. + Microsoft Docs: + Index of the first element in the zero-based array to return (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - 1). + Number of views to get (ranges from 0 to D3D11_1_UAV_SLOT_COUNT - StartSlot). + A pointer to an array of interface pointers (see ID3D11UnorderedAccessView) to get. + + + + + Gets a value indicating whether the output surface from a call to ID3D11VideoContext::VideoProcessorBlt can be read by Direct3D shaders. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + A pointer to a boolean value indicating if the output surface can be read by Direct3D shaders. True if the surface rendered using ID3D11VideoContext::VideoProcessorBlt can be read by Direct3D shaders; otherwise, false. + + + + + Specifies how to access a resource used in a depth-stencil view. + Microsoft Docs: + + + + D3D11_DSV_DIMENSION_UNKNOWN is not a valid value for D3D11_DEPTH_STENCIL_VIEW_DESC and is not used. + + + The resource will be accessed as a 1D texture. + + + The resource will be accessed as an array of 1D textures. + + + The resource will be accessed as a 2D texture. + + + The resource will be accessed as an array of 2D textures. + + + The resource will be accessed as a 2D texture with multisampling. + + + The resource will be accessed as an array of 2D textures with multisampling. + + + + Fills the library descriptor structure for the library reflection. + Microsoft Docs: + A pointer to a D3D11_LIBRARY_DESC structure that receives a description of the library reflection. + + + + + Specifies the automatic image processing capabilities of the video processor. + Microsoft Docs: + + + + Denoise. + + + Deringing. + + + Edge enhancement. + + + Color correction. + + + Flesh-tone mapping. + + + Image stabilization. + + + Enhanced image resolution. + + + Anamorphic scaling. + + + + Sets the HDR metadata associated with the video stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + Identifies the input stream. + The type of HDR metadata supplied. + The size of the HDR metadata supplied in pHDRMetaData. + +For DXGI_HDR_METADATA_TYPE_NONE, the size should be 0. + +For DXGI_HDR_METADATA_TYPE_HDR10, the size is sizeof(DXGI_HDR_METADATA_HDR10). + Pointer to the metadata information. + +For DXGI_HDR_METADATA_TYPE_NONE, this should be NULL. + +For DXGI_HDR_METADATA_TYPE_HDR10, this is a pointer to a DXGI_HDR_METADATA_HDR10 structure. + + + + + Describes the subresources from a resource that are accessible using a render-target view. + Microsoft Docs: + + + + A DXGI_FORMAT-typed value that specifies the data format. + + + A D3D11_RTV_DIMENSION-typed value that specifies the resource type and how the render-target resource will be accessed. + + + A D3D11_BUFFER_RTV structure that specifies which buffer elements can be accessed. + + + A D3D11_TEX1D_RTV structure that specifies the subresources in a 1D texture that can be accessed. + + + A D3D11_TEX1D_ARRAY_RTV structure that specifies the subresources in a 1D texture array that can be accessed. + + + A D3D11_TEX2D_RTV1 structure that specifies the subresources in a 2D texture that can be accessed. + + + A D3D11_TEX2D_ARRAY_RTV1 structure that specifies the subresources in a 2D texture array that can be accessed. + + + A D3D11_TEX2DMS_RTV structure that specifies a single subresource because a multisampled 2D texture only contains one subresource. + + + A D3D11_TEX2DMS_ARRAY_RTV structure that specifies the subresources in a multisampled 2D texture array that can be accessed. + + + A D3D11_TEX3D_RTV structure that specifies subresources in a 3D texture that can be accessed. + + + + The device interface represents a virtual adapter; it is used to create resources. ID3D11Device5 adds new methods to those in ID3D11Device4. + Microsoft Docs: + + + + + Get the number of messages currently stored in the message queue. + Microsoft Docs: + + + + + ID3D11SwitchToRef::SetUseRef method + Microsoft Docs: + Reserved. + + + + + Create a hull shader. + Microsoft Docs: + A pointer to a compiled shader. + Size of the compiled shader. + A pointer to a class linkage interface (see ID3D11ClassLinkage); the value can be NULL. + Address of a pointer to a ID3D11HullShader interface. + + + + + Depth-stencil view options. + Microsoft Docs: + + + + Indicates that depth values are read only. + + + Indicates that stencil values are read only. + + + + Creates a resource view for a video processor, describing the output sample for the video processing operation. + Microsoft Docs: + A pointer to the ID3D11Resource interface of the output surface. The resource must be created with the D3D11_BIND_RENDER_TARGET flag. See D3D11_BIND_FLAG. + A pointer to the ID3D11VideoProcessorEnumerator interface that specifies the video processor. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessorEnumerator. + A pointer to a D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC structure that describes the view. + Receives a pointer to the ID3D11VideoProcessorOutputView interface. The caller must release the resource. If this parameter is NULL, the method checks whether the view is supported, but does not create the view. + + + + + Provides the video functionality of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Get the number of messages that were allowed to pass through a storage filter. + Microsoft Docs: + + + + + Identifies a resource to be accessed for reading and writing by the CPU. Applications may combine one or more of these flags. + Microsoft Docs: + + + + Resource is mapped for reading. The resource must have been created with read access + (see D3D11_CPU_ACCESS_READ). + + + Resource is mapped for writing. The resource must have been created with write + access (see D3D11_CPU_ACCESS_WRITE). + + + Resource is mapped for reading and writing. The resource must have been created with read and write + access (see D3D11_CPU_ACCESS_READ and D3D11_CPU_ACCESS_WRITE). + + + Resource is mapped for writing; the previous contents of the resource will be undefined. The resource must have been created with write access + and dynamic usage (See D3D11_CPU_ACCESS_WRITE and D3D11_USAGE_DYNAMIC). + + + Resource is mapped for writing; the existing contents of the resource cannot be overwritten (see Remarks). This flag is only valid on vertex and + index buffers. The resource must have been created with write access (see D3D11_CPU_ACCESS_WRITE). + Cannot be used on a resource created with the D3D11_BIND_CONSTANT_BUFFER flag. + +
Note  The Direct3D 11.1 runtime, which is available starting with Windows 8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with D3D11_MAP_WRITE_NO_OVERWRITE. The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call ID3D11Device::CheckFeatureSupport with D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport fills members of a D3D11_FEATURE_DATA_D3D11_OPTIONS structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.
+
 
+
+ + + Describes a unordered-access 2D texture resource. + Microsoft Docs: + + + + The mipmap slice index. + + + + Describes an array of unordered-access 2D texture resources. + Microsoft Docs: + + + + The mipmap slice index. + + + The zero-based index of the first array slice to be accessed. + + + The number of slices in the array. + + + The index (plane slice number) of the plane to use in an array of textures. + + + + Creates a 2D texture. + Microsoft Docs: + A pointer to a D3D11_TEXTURE2D_DESC1 structure that describes a 2D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generate mipmap levels automatically, set the number of mipmap levels to 0. + A pointer to an array of D3D11_SUBRESOURCE_DATA structures that describe subresources for the 2D texture resource. Applications can't specify NULL for pInitialData when creating IMMUTABLE resources (see D3D11_USAGE). If the resource is multisampled, pInitialData must be NULL because multisampled resources can't be initialized with data when they're created. + +If you don't pass anything to pInitialData, the initial content of the memory for the resource is undefined. In this case, you need to write the resource content some other way before the resource is read. + +You can determine the size of this array from values in the MipLevels and ArraySize members of the D3D11_TEXTURE2D_DESC1 structure to which pDesc1 points by using the following calculation: + +MipLevels * ArraySize + +For more info about this array size, see Remarks. + A pointer to a memory block that receives a pointer to a ID3D11Texture2D1 interface for the created texture. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Discards the specified elements in a resource view from the device context. + Microsoft Docs: + A pointer to the ID3D11View interface for the resource view to discard. The resource that underlies the view must have been created with usage D3D11_USAGE_DEFAULT or D3D11_USAGE_DYNAMIC, otherwise the runtime drops the call to DiscardView1; if the debug layer is enabled, the runtime returns an error message. + An array of D3D11_RECT structures for the rectangles in the resource view to discard. If NULL, DiscardView1 discards the entire view and behaves the same as DiscardView. + Number of rectangles in the array that the pRects parameter specifies. + + + + + This shader-reflection interface provides access to a variable. + Microsoft Docs: + + + + + Describes a shader constant-buffer. + Microsoft Docs: + + + + The name of the buffer. + + + A D3D_CBUFFER_TYPE-typed value that indicates the intended use of the constant data. + + + The number of unique variables. + + + Buffer size (in bytes). + + + A combination of D3D_SHADER_CBUFFER_FLAGS-typed values that are combined by using a bitwise OR operation. The resulting value specifies properties for the shader constant-buffer. + + + + Specifies a custom rate for frame-rate conversion or inverse telecine (IVTC). + Microsoft Docs: + + + + The ratio of the output frame rate to the input frame rate, expressed as a DXGI_RATIONAL structure that holds a rational number. + + + The number of output frames that will be generated for every N input samples, where N = InputFramesOrFields. + + + If TRUE, the input stream must be interlaced. Otherwise, the input stream must be progressive. + + + The number of input fields or frames for every N output frames that will be generated, where N = OutputFrames. + + + + Enables you to take resources created through the Direct3D 11 APIs, and use them in Direct3D 12. + Microsoft Docs: + + + + + Represents a cryptographic session. + Microsoft Docs: + + + + + Gets the description for rasterizer state that you used to create the rasterizer-state object. + Microsoft Docs: + A pointer to a D3D11_RASTERIZER_DESC structure that receives a description of the rasterizer state. + + + + + Defines the range of supported values for an image filter. + Microsoft Docs: + + + + The minimum value of the filter. + + + The maximum value of the filter. + + + The default value of the filter. + + + A multiplier. Use the following formula to translate the filter setting into the actual filter value: Actual Value = Set Value × Multiplier. + + + + Describes flags that are used to create a device context state object (ID3DDeviceContextState) with the ID3D11Device1::CreateDeviceContextState method. + Microsoft Docs: + + + + You use this flag if your application will only call methods of Direct3D 11 and Direct3D 10 interfaces from a single thread. By default, Direct3D 11 and Direct3D 10 are thread-safe. + By using this flag, you can increase performance. However, if you use this flag and your application calls methods from multiple threads, undefined behavior might result. + + + + Associate an IUnknown-derived interface with this device child and associate that interface with an application-defined guid. + Microsoft Docs: + Guid associated with the interface. + Pointer to an IUnknown-derived interface to be associated with the device child. + + + + + Get information about the primitive type, and data order that describes input data for the input assembler stage. + Microsoft Docs: + A pointer to the type of primitive, and ordering of the primitive data (see D3D11_PRIMITIVE_TOPOLOGY). + + + + + A debug interface controls debug settings, validates pipeline state and can only be used if the debug layer is turned on. + Microsoft Docs: + + + + + Specifies the subresources from an array of cube textures to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original TextureCube for which ID3D11Device::CreateShaderResourceView creates a view) -1. + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + Index of the first 2D texture to use. + + + Number of cube textures in the array. + + + + Returns statistics about the trace. + Microsoft Docs: + A pointer to a D3D11_TRACE_STATS structure. GetTraceStats fills the members of this structure with statistics about the trace. + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + The index of the process in the list of processes. + + + A D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE value that specifies the type of process. + + + A process handle. If the ProcessIdentifier member equals D3D11_PROCESSIDTYPE_HANDLE, the ProcessHandle member contains a valid handle to a process. Otherwise, this member is ignored. + + + + Contains driver-specific data for the ID3D11VideoContext::DecoderExtension method. + Microsoft Docs: + + + + The function number. This number identifies the operation to perform. Currently no function numbers are defined. + + + A pointer to a buffer that contains input data for the driver. + + + The size of the pPrivateInputData buffer, in bytes. + + + A pointer to a buffer that the driver can use to write output data. + + + The size of the pPrivateOutputData buffer, in bytes. + + + The number of elements in the ppResourceList array. If ppResourceList is NULL, set ResourceCount to zero. + + + The address of an array of ID3D11Resource pointers. Use this member to pass Direct3D resources to the driver. + + + + Starts a decoding operation to decode a video frame. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoder. + A pointer to the ID3D11VideoDecoderOutputView interface. This interface describes the resource that will receive the decoded frame. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoderOutputView. + The size of the content key that is specified in pContentKey. If pContentKey is NULL, set ContentKeySize to zero. + An optional pointer to a content key that was used to encrypt the frame data. If no content key was used, set this parameter to NULL. If the caller provides a content key, the caller must use the session key to encrypt the content key. + + + + + Specifies data for initializing a subresource. + Microsoft Docs: + + + + Pointer to the initialization data. + + + The distance (in bytes) from the beginning of one line of a texture to the next line. + System-memory pitch is used only for 2D and 3D texture data as it is has no meaning for the other resource types. Specify the distance from the first pixel of one 2D slice of a 3D texture to the first pixel of the next 2D slice in that texture in the SysMemSlicePitch member. + + + The distance (in bytes) from the beginning of one depth level to the next. + System-memory-slice pitch is only used for 3D texture data as it has no meaning for the other resource types. + + + + Get the maximum number of messages that can be added to the message queue. + Microsoft Docs: + + + + + Specifies the context in which a query occurs. + Microsoft Docs: + + + + The query can occur in all contexts. + + + The query occurs in the context of a 3D command queue. + + + The query occurs in the context of a 3D compute queue. + + + The query occurs in the context of a 3D copy queue. + + + The query occurs in the context of video. + + + + Contains input data for a D3D11_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE command. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_CONFIGURE_INPUT structure that contains the command GUID and other data. + + + A GUID that specifies the type of encryption to apply. + + + + Indicates shader type. + Microsoft Docs: + + + + Pixel shader. + + + Vertex shader. + + + Geometry shader. + + + Hull shader. + + + Domain shader. + + + Compute shader. + + + Indicates the end of the enumeration constants. + + + + Get an array of sampler state interfaces from the domain-shader stage. + Microsoft Docs: + Index into a zero-based array to begin getting samplers from (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). + + + + + Specifies the subresources from an array of 1D textures to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original Texture1D for which ID3D11Device::CreateShaderResourceView creates a view) -1. + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + The index of the first texture to use in an array of textures. + + + Number of textures in the array. + + + + Resizes a tile pool. + Microsoft Docs: + A pointer to an ID3D11Buffer for the tile pool to resize. + The new size in bytes of the tile pool. The size must be a multiple of 64 KB or 0. + + + + + Gets the array of viewports bound to the rasterizer stage. + Microsoft Docs: + A pointer to a variable that, on input, specifies the number of viewports (ranges from 0 to D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) + in the pViewports array; on output, the variable contains the actual number of viewports that are bound to the rasterizer stage. + If pViewports is NULL, RSGetViewports fills the variable with the number of viewports currently bound. + +
Note  In some versions of the Windows SDK, a debug device will raise an exception if the input value in the variable to which pNumViewports points is greater than D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE even if pViewports is NULL. The regular runtime ignores the value in the variable to which pNumViewports points when pViewports is NULL. This behavior of a debug device might be corrected in a future release of the Windows SDK. +
+
 
+ An array of D3D11_VIEWPORT structures for the viewports that are bound to the rasterizer stage. If the number of viewports (in the variable to which pNumViewports points) is + greater than the actual number of viewports currently bound, unused elements of the array contain 0. + For info about how the viewport size depends on the device feature level, which has changed between Direct3D 11 + and Direct3D 10, see D3D11_VIEWPORT. +
+
+ + + Get a message from the message queue. + Microsoft Docs: + Index into message queue after an optional retrieval filter has been applied. This can be between 0 and the number of messages in the message queue that pass through the retrieval filter (which can be obtained with ID3D11InfoQueue::GetNumStoredMessagesAllowedByRetrievalFilter). 0 is the message at the front of the message queue. + Returned message (see D3D11_MESSAGE). + Size of pMessage in bytes, including the size of the message string that the pMessage points to. + + + + + The stencil operations that can be performed during depth-stencil testing. + Microsoft Docs: + + + + Keep the existing stencil data. + + + Set the stencil data to 0. + + + Set the stencil data to the reference value set by calling ID3D11DeviceContext::OMSetDepthStencilState. + + + Increment the stencil value by 1, and clamp the result. + + + Decrement the stencil value by 1, and clamp the result. + + + Invert the stencil data. + + + Increment the stencil value by 1, and wrap the result if necessary. + + + Decrement the stencil value by 1, and wrap the result if necessary. + + + + Provides the video decoding and video processing capabilities of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Gets a variable by name. + Microsoft Docs: + A pointer to a string containing the variable name. + + + + + Sets a value indicating whether the output surface from a call to ID3D11VideoContext::VideoProcessorBlt will be read by Direct3D shaders. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + True if the surface rendered using ID3D11VideoContext::VideoProcessorBlt will be read by Direct3D shaders; otherwise, false. This may be set to false when multi-plane overlay hardware is supported. + + + + + A view interface specifies the parts of a resource the pipeline can access during rendering. + Microsoft Docs: + + + + + Gets a pointer to a decoder buffer. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. To get this pointer, call ID3D11VideoDevice::CreateVideoDecoder. + The type of buffer to retrieve, specified as a member of the D3D11_VIDEO_DECODER_BUFFER_TYPE enumeration. + Receives the size of the buffer, in bytes. + Receives a pointer to the start of the memory buffer. + + + + + Enumerates the video processor capabilities of the driver. + Microsoft Docs: + A pointer to a D3D11_VIDEO_PROCESSOR_CONTENT_DESC structure that describes the video content. + Receives a pointer to the ID3D11VideoProcessorEnumerator interface. The caller must release the interface. + + + + + Sets graphics processing unit (GPU) debug reference default tracking options for specific resource types. + Microsoft Docs: + A D3D11_SHADER_TRACKING_RESOURCE_TYPE-typed value that specifies the type of resource to track. + A combination of D3D11_SHADER_TRACKING_OPTIONS-typed flags that are combined by using a bitwise OR operation. The resulting value identifies tracking options. If a flag is present, the tracking option that the flag represents is set to "on"; otherwise the tracking option is set to "off." + + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + The index of the encryption GUID. + + + A GUID that specifies a supported encryption type. + + + + Add storage filters to the top of the retrieval-filter stack. + Microsoft Docs: + Array of retrieval filters (see D3D11_INFO_QUEUE_FILTER). + + + + + Set application-defined data to a device child and associate that data with an application-defined guid. + Microsoft Docs: + Guid associated with the data. + Size of the data. + Pointer to the data to be stored with this device child. If pData is NULL, DataSize must also be 0, and any data previously associated with the specified guid will be destroyed. + + + + + Get pointers to the resources bound to the output-merger stage. + Microsoft Docs: + The number of render-target views to retrieve. + Pointer to an array of ID3D11RenderTargetViews, which represent render-target views. Specify NULL for this parameter when retrieval of render-target views is not required. + Pointer to a ID3D11DepthStencilView, which represents a depth-stencil view. Specify NULL for this parameter when retrieval of the depth-stencil view is not required. + Index into a zero-based array to begin retrieving unordered-access views (ranges from 0 to D3D11_PS_CS_UAV_REGISTER_COUNT - 1). + For pixel shaders UAVStartSlot should be equal to the number of render-target views that are bound. + Number of unordered-access views to return in ppUnorderedAccessViews. This number ranges from 0 to D3D11_PS_CS_UAV_REGISTER_COUNT - UAVStartSlot. + Pointer to an array of ID3D11UnorderedAccessViews, which represent unordered-access views that are retrieved. Specify NULL for this parameter when retrieval of unordered-access views is not required. + + + + + The CPU copies data from memory to a subresource created in non-mappable memory. + Microsoft Docs: + A pointer to the destination resource. + A zero-based index that identifies the destination subresource. See D3D11CalcSubresource for more details. + A pointer to a box that defines the portion of the destination subresource to copy the resource data into. Coordinates are in bytes for buffers and in texels for textures. If NULL, UpdateSubresource1 writes the data to the destination subresource with no offset. The dimensions of the source must fit the destination. + +An empty box results in a no-op. A box is empty if the top value is greater than or equal to the bottom value, or the left value is greater than or equal to the right value, or the front value is greater than or equal to the back value. When the box is empty, UpdateSubresource1 doesn't perform an update operation. + A pointer to the source data in memory. + The size of one row of the source data. + The size of one depth slice of source data. + A D3D11_COPY_FLAGS-typed value that specifies how to perform the update operation. If you specify zero for no update option, UpdateSubresource1 behaves like ID3D11DeviceContext::UpdateSubresource. For existing display drivers that can't process these flags, the runtime doesn't use them. + + + + + Gets the current alpha fill mode for the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + Receives the alpha fill mode, as a D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE value. + If the alpha fill mode is D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM, this parameter receives the zero-based index of an input stream. The input stream provides the alpha values for the alpha fill. + + + + + Get the properties of the texture resource. + Microsoft Docs: + Pointer to a resource description (see D3D11_TEXTURE2D_DESC). + + + + + Get the number of quality levels available during multisampling. + Microsoft Docs: + The texture format. See DXGI_FORMAT. + The number of samples during multisampling. + Number of quality levels supported by the adapter. See remarks. + + + + + Gets the driver's certificate chain. + Microsoft Docs: + The size of the pCertificate array, in bytes. To get the size of the certificate chain, call ID3D11CryptoSession::GetCertificateSize. + A pointer to a byte array that receives the driver's certificate chain. The caller must allocate the array. + + + + + Retrieves the initial contents of the specified input register. + Microsoft Docs: + A pointer to a D3D11_TRACE_VALUE structure. GetInitialRegisterContents fills the members of this structure with information about the initial contents. + + + + + Represents the status of an ID3D11CryptoSession interface. + Microsoft Docs: + + + + The ID3D11CryptoSession is in a functional state. + + + The underlying hardware key for the specified ID3D11CryptoSession has become lost. + + + The underlying hardware key for the specified ID3D11CryptoSession has become lost and protected content has become corrupted. + + + + Gets a description of the resource. + Microsoft Docs: + A pointer to a D3D11_UNORDERED_ACCESS_VIEW_DESC1 structure that receives the description of the unordered-access resource. + + + + + Gets the description for blending state that you used to create the blend-state object. + Microsoft Docs: + A pointer to a D3D11_BLEND_DESC1 structure that receives a description of the blend state. This blend state can specify logical operations as well as blending operations. + + + + + The tracking interface sets reference tracking options. + Microsoft Docs: + + + + + Describes rasterizer state. + Microsoft Docs: + + + + Determines the fill mode to use when rendering (see D3D11_FILL_MODE). + + + Indicates triangles facing the specified direction are not drawn (see D3D11_CULL_MODE). + + + Determines if a triangle is front- or back-facing. If this parameter is TRUE, a triangle will be considered front-facing if its vertices are counter-clockwise on the render target and considered back-facing if they are clockwise. If this parameter is FALSE, the opposite is true. + + + Depth value added to a given pixel. For info about depth bias, see Depth Bias. + + + Maximum depth bias of a pixel. For info about depth bias, see Depth Bias. + + + Scalar on a given pixel's slope. For info about depth bias, see Depth Bias. + + + Enable clipping based on distance. + +The hardware always performs x and y clipping of rasterized coordinates. When DepthClipEnable is set to the default–TRUE, the hardware also clips the z value (that is, the hardware performs the last step of the following algorithm). + + +

+0 < w
+-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
+-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
+0 <= z <= w
+
+When you set DepthClipEnable to FALSE, the hardware skips the z clipping (that is, the last step in the preceding algorithm). However, the hardware still performs the "0 < w" clipping. When z clipping is disabled, improper depth ordering at the pixel level might result. However, when z clipping is disabled, stencil shadow implementations are simplified. In other words, you can avoid complex special-case handling for geometry that goes beyond the back clipping plane.
+
+ + Enable scissor-rectangle culling. All pixels outside an active scissor rectangle are culled. + + + Specifies whether to use the quadrilateral or alpha line anti-aliasing algorithm on multisample antialiasing (MSAA) render targets. Set to TRUE to use the quadrilateral line anti-aliasing algorithm and to FALSE to use the alpha line anti-aliasing algorithm. For more info about this member, see Remarks. + + + Specifies whether to enable line antialiasing; only applies if doing line drawing and MultisampleEnable is FALSE. For more info about this member, see Remarks. + + + + Sets a private IUnknown pointer on the video device and associates that pointer with a GUID. + Microsoft Docs: + The GUID associated with the pointer. + A pointer to the IUnknown interface. + + + + + Get the type, name, units of measure, and a description of an existing counter. + Microsoft Docs: + Pointer to a counter description (see D3D11_COUNTER_DESC). Specifies which counter information is to be retrieved about. + Pointer to the data type of a counter (see D3D11_COUNTER_TYPE). Specifies the data type of the counter being retrieved. + Pointer to the number of hardware counters that are needed for this counter type to be created. All instances of the same counter type use the same hardware counters. + String to be filled with a brief name for the counter. May be NULL if the application is not interested in the name of the counter. + Length of the string returned to szName. Can be NULL. + Name of the units a counter measures, provided the memory the pointer points to has enough room to hold the string. Can be NULL. The returned string will always be in English. + Length of the string returned to szUnits. Can be NULL. + A description of the counter, provided the memory the pointer points to has enough room to hold the string. Can be NULL. The returned string will always be in English. + Length of the string returned to szDescription. Can be NULL. + + + + + Creates a view for accessing an unordered access resource. + Microsoft Docs: + Pointer to an ID3D11Resource that represents a resources that will serve as an input to a shader. + Pointer to an D3D11_UNORDERED_ACCESS_VIEW_DESC that represents a shader-resource view description. Set this parameter to NULL to create a view that accesses the entire resource (using the format the resource was created with). + Address of a pointer to an ID3D11UnorderedAccessView that represents an unordered-access view. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Describes an instance of a hull shader to trace. + Microsoft Docs: + + + + The invocation number of the instance of the hull shader. + + + + Determines the fill mode to use when rendering triangles. + Microsoft Docs: + + + + Draw lines connecting the vertices. Adjacent vertices are not drawn. + + + Fill the triangles formed by the vertices. Adjacent vertices are not drawn. + + + + Set a compute shader to the device. + Microsoft Docs: + Pointer to a compute shader (see ID3D11ComputeShader). Passing in NULL disables the shader for this pipeline stage. + A pointer to an array of class-instance interfaces (see ID3D11ClassInstance). Each interface used by a shader must have a corresponding class instance or the shader will get disabled. Set ppClassInstances to NULL if the shader does not use any interfaces. + The number of class-instance interfaces in the array. + + + + + Arguments for draw instanced indirect. + Microsoft Docs: + + + + The number of vertices to draw. + + + The number of instances to draw. + + + The index of the first vertex. + + + A value added to each index before reading per-instance data from a vertex buffer. + + + + Get a constant buffer by name. + Microsoft Docs: + The constant-buffer name. + + + + + Create a vertex-shader object from a compiled shader. + Microsoft Docs: + A pointer to the compiled shader. + Size of the compiled vertex shader. + A pointer to a class linkage interface (see ID3D11ClassLinkage); the value can be NULL. + Address of a pointer to a ID3D11VertexShader interface. If this is NULL, all other parameters will be validated, and if all parameters pass validation this API will return S_FALSE instead of S_OK. + + + + + Defines a 3D box. + Microsoft Docs: + + + + The x position of the left hand side of the box. + + + The y position of the top of the box. + + + The z position of the front of the box. + + + The x position of the right hand side of the box. + + + The y position of the bottom of the box. + + + The z position of the back of the box. + + + + Contains input data for a D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_INPUT structure that contains the GUID for the query and other data. + + + The index of the process. + + + + Sets the background color for the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + If TRUE, the color is specified as a YCbCr value. Otherwise, the color is specified as an RGB value. + A pointer to a D3D11_VIDEO_COLOR structure that specifies the background color. + + + + + Set the rasterizer state for the rasterizer stage of the pipeline. + Microsoft Docs: + Pointer to a rasterizer-state interface (see ID3D11RasterizerState) to bind to the pipeline. + + + + + Describes an array of unordered-access 1D texture resources. + Microsoft Docs: + + + + The mipmap slice index. + + + The zero-based index of the first array slice to be accessed. + + + The number of slices in the array. + + + + Gets the cryptographic key to decrypt the data returned by the ID3D11VideoContext::EncryptionBlt method. + Microsoft Docs: + A pointer to the ID3D11CryptoSession interface. + The size of the pReadbackKey array, in bytes. The size should match the size of the session key. + A pointer to a byte array that receives the key. The key is encrypted using the session key. + + + + + Identifies how to perform a tile-mapping operation. + Microsoft Docs: + + + + Indicates that no overwriting of tiles occurs in the tile-mapping operation. + + + + A 1D texture interface accesses texel data, which is structured memory. + Microsoft Docs: + + + + + Gets the properties of the texture resource. + Microsoft Docs: + A pointer to a D3D11_TEXTURE2D_DESC1 structure that receives the description of the 2D texture. + + + + + Gets the color space information for the video processor input stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + An index identifying the input stream. + A pointer to a DXGI_COLOR_SPACE_TYPE value that specifies the colorspace for the video processor input stream. + + + + + The ID3D11CommandList interface encapsulates a list of graphics commands for play back. + Microsoft Docs: + + + + + Report information about a device object's lifetime. + Microsoft Docs: + A value from the + D3D11_RLDO_FLAGS enumeration. + + + + + Get pointers to the resources bound to the output-merger stage. + Microsoft Docs: + Number of render targets to retrieve. + Pointer to an array of ID3D11RenderTargetViews which represent render target views. Specify NULL for this parameter when retrieval of a render target is not needed. + Pointer to a ID3D11DepthStencilView, which represents a depth-stencil view. Specify NULL for this parameter when retrieval of the depth-stencil view is not needed. + + + + + Specifies the subresources from an array of 2D textures to use in a render-target view. + Microsoft Docs: + + + + The index of the mipmap level to use mip slice. + + + The index of the first texture to use in an array of textures. + + + Number of textures in the array to use in the render target view, starting from FirstArraySlice. + + + + Specifies an RGB color value. + Microsoft Docs: + + + + The red value. + + + The green value. + + + The blue value. + + + The alpha value. Values range from 0 (transparent) to 1 (opaque). + + + + Create a sampler-state object that encapsulates sampling information for a texture. + Microsoft Docs: + Pointer to a sampler state description (see D3D11_SAMPLER_DESC). + Address of a pointer to the sampler state object created (see ID3D11SamplerState). + + + + + Specifies the layout in memory of a stereo 3D video frame. + Microsoft Docs: + + + + The sample does not contain stereo data. If the stereo format is not specified, this value is the default. + + + Frame 0 and frame 1 are packed side-by-side, as shown in the following diagram. + +Side-by-side packing + +All drivers that support stereo video must support this format. + + + Frame 0 and frame 1 are packed top-to-bottom, as shown in the following diagram. + +Top-to-bottom packing + +All drivers that support stereo video must support this format. + + + Frame 0 and frame 1 are placed in separate resources or in separate texture array elements within the same resource. + +All drivers that support stereo video must support this format. + + + The sample contains non-stereo data. However, the driver should create a left/right output of this sample using a specified offset. The offset is specified in the MonoOffset parameter of the ID3D11VideoContext::VideoProcessorSetStreamStereoFormat method. + +This format is primarily intended for subtitles and other subpicture data, where the entire sample is presented on the same plane. + +Support for this stereo format is optional. + + + Frame 0 and frame 1 are packed into interleaved rows, as shown in the following diagram. + +Interleaved rows + +Support for this stereo format is optional. + + + Frame 0 and frame 1 are packed into interleaved columns, as shown in the following diagram. + +Interleaved columns + +Support for this stereo format is optional. + + + Frame 0 and frame 1 are packed in a checkerboard format, as shown in the following diagram. + +Checkerboard packing + +Support for this stereo format is optional. + + + + Give a device access to a shared resource created on a different device. + Microsoft Docs: + A resource handle. See remarks. + The globally unique identifier (GUID) for the resource interface. See remarks. + Address of a pointer to the resource we are gaining access to. + + + + + Contains input data for a D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_INPUT structure that contains the GUID for the query and other data. + + + A handle to a decoder device. + + + + Describes a video stream for a Microsoft Direct3D 11 video decoder or video processor. + Microsoft Docs: + + + + The decoding profile. To get the list of profiles supported by the device, call the ID3D11VideoDevice::GetVideoDecoderProfile method. + + + The width of the video frame, in pixels. + + + The height of the video frame, in pixels. + + + The output surface format, specified as a DXGI_FORMAT value. + + + + Creates a shader-trace interface for a shader-trace information object. + Microsoft Docs: + A pointer to the interface of the shader to create the shader-trace interface for. For example, pShader can be an instance of ID3D11VertexShader, ID3D11PixelShader, and so on. + A pointer to a D3D11_SHADER_TRACE_DESC structure that describes the shader-trace object to create. This parameter cannot be NULL. + A pointer to a variable that receives a pointer to the ID3D11ShaderTrace interface for the shader-trace object that CreateShaderTrace creates. + + + + + Describes the level of support for shader caching in the current graphics driver. + Microsoft Docs: + + + + Indicates that the driver does not support shader caching. + + + Indicates that the driver supports an OS-managed shader cache that stores compiled shaders in memory during the current run of the application. + + + Indicates that the driver supports an OS-managed shader cache that stores compiled shaders on disk to accelerate future runs of the application. + + + + Sets the luma key for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies whether luma keying is enabled. + The lower bound for the luma key. The valid range is [0…1]. If Enable is FALSE, this parameter is ignored. + The upper bound for the luma key. The valid range is [0…1]. If Enable is FALSE, this parameter is ignored. + + + + + Describes the subresources from an array of 2D textures to use in a render-target view. + Microsoft Docs: + + + + The index of the mipmap level to use mip slice. + + + The index of the first texture to use in an array of textures. + + + Number of textures in the array to use in the render-target view, starting from FirstArraySlice. + + + The index (plane slice number) of the plane to use in an array of textures. + + + + Describes the level of shader caching supported in the current graphics driver. + Microsoft Docs: + + + + Indicates the level of caching supported. + + + + Gets info about how a tiled resource is broken into tiles. + Microsoft Docs: + A pointer to the tiled resource to get info about. + A pointer to a variable that receives the number of tiles needed to store the entire tiled resource. + A pointer to a D3D11_PACKED_MIP_DESC structure that GetResourceTiling fills with info about how the tiled resource's mipmaps are packed. + A pointer to a D3D11_TILE_SHAPE structure that GetResourceTiling fills with info about the tile shape. This is info about how pixels fit in the tiles, independent of tiled resource's dimensions, + not including packed mipmaps. If the entire tiled resource is packed, this parameter is meaningless because the tiled resource has no defined layout + for packed mipmaps. + In this situation, GetResourceTiling sets the members of D3D11_TILE_SHAPE to zeros. + A pointer to a variable that contains the number of tiles in the subresource. On input, this is the number of subresources to query tilings for; on output, this is the number that was actually retrieved at pSubresourceTilingsForNonPackedMips (clamped to what's available). + The number of the first subresource tile to get. GetResourceTiling ignores this parameter if the number that pNumSubresourceTilings points to is 0. + A pointer to a D3D11_SUBRESOURCE_TILING structure that GetResourceTiling fills with info about subresource tiles. + + +If subresource tiles are part of packed mipmaps, GetResourceTiling sets the members of D3D11_SUBRESOURCE_TILING to zeros, except the StartTileIndexInOverallResource member, which GetResourceTiling sets to D3D11_PACKED_TILE (0xffffffff). The D3D11_PACKED_TILE constant indicates that the whole + D3D11_SUBRESOURCE_TILING structure is meaningless for this situation, and the info that the pPackedMipDesc parameter points to applies. + + + + + Creates a buffer (vertex buffer, index buffer, or shader-constant buffer). + Microsoft Docs: + A pointer to a D3D11_BUFFER_DESC structure that describes the buffer. + A pointer to a D3D11_SUBRESOURCE_DATA structure that describes the initialization data; + use NULL to allocate space only (with the exception that it cannot be NULL if the usage flag is D3D11_USAGE_IMMUTABLE). + + +If you don't pass anything to pInitialData, the initial content of the memory for the buffer is undefined. + In this case, you need to write the buffer content some other way before the resource is read. + Address of a pointer to the ID3D11Buffer interface for the buffer object created. + Set this parameter to NULL to validate the other input parameters (S_FALSE indicates a pass). + + + + + The device interface represents a virtual adapter; it is used to create resources. ID3D11Device4 adds new methods to those in ID3D11Device3, such as RegisterDeviceRemovedEvent and UnregisterDeviceRemoved. + Microsoft Docs: + + + + + Specifies the subresources of a texture that are accessible from a depth-stencil view. + Microsoft Docs: + + + + Resource data format (see DXGI_FORMAT). See remarks for allowable formats. + + + Type of resource (see D3D11_DSV_DIMENSION). Specifies how a depth-stencil resource will be accessed; the value is stored in the + union in this structure. + + + A value that describes whether the texture is read only. Pass 0 to specify that it is not read only; otherwise, pass one of the members of + the D3D11_DSV_FLAG enumerated type. + + + Specifies a 1D texture subresource (see D3D11_TEX1D_DSV). + + + Specifies an array of 1D texture subresources (see D3D11_TEX1D_ARRAY_DSV). + + + Specifies a 2D texture subresource (see D3D11_TEX2D_DSV). + + + Specifies an array of 2D texture subresources (see D3D11_TEX2D_ARRAY_DSV). + + + Specifies a multisampled 2D texture (see D3D11_TEX2DMS_DSV). + + + Specifies an array of multisampled 2D textures (see D3D11_TEX2DMS_ARRAY_DSV). + + + + Clears an unordered access resource with a float value. + Microsoft Docs: + The ID3D11UnorderedAccessView to clear. + Values to copy to corresponding channels, see remarks. + + + + + Get the vertex shader resources. + Microsoft Docs: + Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to be returned by the device. + + + + + Gets the constant buffers that the compute-shader stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers to be returned by the method. + A pointer to an array that receives the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 2 indicates that the start of the associated constant buffer is 32 bytes into the constant buffer. The runtime sets pFirstConstant to NULL if the buffers do not have offsets. + A pointer to an array that receives the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. The runtime sets pNumConstants to NULL if it doesn't specify the numbers of constants in each buffer. + + + + + Gets the color-palette entries for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + The number of entries in the pEntries array. + A pointer to a UINT array allocated by the caller. The method fills the array with the palette entries. For RGB streams, the palette entries use the DXGI_FORMAT_B8G8R8A8 representation. For YCbCr streams, the palette entries use the DXGI_FORMAT_AYUV representation. + + + + + Specifies the type of sampler filter reduction. + Microsoft Docs: + + + + Indicates standard (default) filter reduction. + + + Indicates a comparison filter reduction. + + + Indicates minimum filter reduction. + + + Indicates maximum filter reduction. + + + + Specifies the subresources from a 3D texture to use in a render-target view. + Microsoft Docs: + + + + The index of the mipmap level to use mip slice. + + + First depth level to use. + + + Number of depth levels to use in the render-target view, starting from FirstWSlice. A value of -1 indicates all of the slices along the w axis, starting from FirstWSlice. + + + + Rebinds a sampler from source slot to destination slot. + Microsoft Docs: + The first source slot number for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + Creates a shared handle to a fence object. + Microsoft Docs: + A pointer to a SECURITY_ATTRIBUTESstructure that contains two separate but related data members: an optional security descriptor, and a Booleanvalue that determines whether child processes can inherit the returned handle. + + +Set this parameter to NULL if you want child processes that the + application might create to not inherit the handle returned by + CreateSharedHandle, and if you want the resource that is associated with the returned handle to get a default security + descriptor. + + +The lpSecurityDescriptor member of the structure specifies a + SECURITY_DESCRIPTOR for the resource. + Set this member to NULL if you want the runtime to assign a default security descriptor to the resource that is associated with the returned handle. + The ACLs in the default security descriptor for the resource come from the primary or impersonation token of the creator. + For more info, see Synchronization Object Security and Access Rights. + Currently the only value this parameter accepts is GENERIC_ALL. + A NULL-terminated UNICODE string that contains the name to associate with the shared heap. + The name is limited to MAX_PATH characters. + Name comparison is case-sensitive. + + +If Name matches the name of an existing resource, CreateSharedHandle fails with DXGI_ERROR_NAME_ALREADY_EXISTS. + This occurs because these objects share the same namespace. + + +The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session namespace. + The remainder of the name can contain any character except the backslash character (\\). + For more information, see + Kernel Object Namespaces. + Fast user switching is implemented using Terminal Services sessions. + Kernel object names must follow the guidelines outlined for Terminal Services so that applications can support multiple users. + + +The object can be created in a private namespace. + For more information, see Object Namespaces. + A pointer to a variable that receives the NT HANDLE value to the resource to share. + You can use this handle in calls to access the resource. + + + + + Query information about the amount of data streamed out to the stream-output buffers in between ID3D11DeviceContext::Begin and ID3D11DeviceContext::End. + Microsoft Docs: + + + + Number of primitives (that is, points, lines, and triangles) written to the stream-output buffers. + + + Number of primitives that would have been written to the stream-output buffers if there had been enough space for them all. + + + + Describes the blend state that you use in a call to ID3D11Device::CreateBlendState to create a blend-state object. + Microsoft Docs: + + + + Specifies whether to use alpha-to-coverage as a multisampling technique when setting a pixel to a render target. For more info about using alpha-to-coverage, see Alpha-To-Coverage. + + + Specifies whether to enable independent blending in simultaneous render targets. Set to TRUE to enable independent blending. If set to FALSE, only the RenderTarget[0] members are used; RenderTarget[1..7] are ignored. + + + An array of D3D11_RENDER_TARGET_BLEND_DESC structures that describe the blend states for render targets; these correspond to the eight render targets + that can be bound to the output-merger stage at one time. + + + + Contains the response to a D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION query. + Microsoft Docs: + + + + A D3D11_AUTHENTICATED_QUERY_OUTPUT structure that contains a Message Authentication Code (MAC) and other data. + + + A handle to a decoder device. + + + A handle to the cryptographic session that is associated with the decoder device. + + + A handle to the Direct3D device that is associated with the decoder device. + + + + Describes a sampler state. + Microsoft Docs: + + + + Filtering method to use when sampling a texture (see D3D11_FILTER). + + + Method to use for resolving a u texture coordinate that is outside the 0 to 1 range (see D3D11_TEXTURE_ADDRESS_MODE). + + + Method to use for resolving a v texture coordinate that is outside the 0 to 1 range. + + + Method to use for resolving a w texture coordinate that is outside the 0 to 1 range. + + + Offset from the calculated mipmap level. For example, if Direct3D calculates that a texture should be sampled at mipmap level 3 and MipLODBias is 2, then the texture will be sampled at mipmap level 5. + + + Clamping value used if D3D11_FILTER_ANISOTROPIC or D3D11_FILTER_COMPARISON_ANISOTROPIC is specified in Filter. Valid values are between 1 and 16. + + + A function that compares sampled data against existing sampled data. The function options are listed in D3D11_COMPARISON_FUNC. + + + Border color to use if D3D11_TEXTURE_ADDRESS_BORDER is specified for AddressU, AddressV, or AddressW. Range must be between 0.0 and 1.0 inclusive. + + + Lower end of the mipmap range to clamp access to, where 0 is the largest and most detailed mipmap level and any level higher than that is less detailed. + + + Upper end of the mipmap range to clamp access to, where 0 is the largest and most detailed mipmap level and any level higher than that is less detailed. This value must be greater than or equal to MinLOD. To have no upper limit on LOD set this to a large value such as D3D11_FLOAT32_MAX. + + + + Leave a device's critical section. + Microsoft Docs: + + + + + Contains stream-level data for the ID3D11VideoContext::VideoProcessorBlt method. + Microsoft Docs: + + + + Specifies whether this input stream is enabled. If the value is TRUE, the VideoProcessorBlt method blits this stream to the output surface. Otherwise, this stream is not blitted. + +The maximum number of streams that can be enabled at one time is given in the MaxInputStreams member of the D3D11_VIDEO_PROCESSOR_CAPS structure. + + + The zero-based index number of the output frame. + + + The zero-based index number of the input frame or field. + + + The number of past reference frames. + + + The number of future reference frames. + + + A pointer to an array of ID3D11VideoProcessorInputView pointers, allocated by the caller. This array contains the past reference frames for the video processing operation. The number of elements in the array is equal to PastFrames. + + + A pointer to the ID3D11VideoProcessorInputView interface of the surface that contains the current input frame. + + + A pointer to an array of ID3D11VideoProcessorInputView pointers, allocated by the caller. This array contains the future reference frames for the video processing operation. The number of elements in the array is equal to FutureFrames. + + + If the stereo 3D format is D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE, this member points to an array that contains the past reference frames for the right view. The number of elements in the array is equal to PastFrames. + +For any other stereo 3D format, set this member to NULL. For more information, see ID3D11VideoContext::VideoProcessorSetStreamStereoFormat. + + + If the stereo 3D format is D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE, this member contains a pointer to the current input frame for the right view. + +For any other stereo 3D format, set this member to NULL. + + + If the stereo 3D format is D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE, this member points to an array that contains the future reference frames for the right view. The number of elements in the array is equal to FutureFrames. + +For any other stereo 3D format, set this member to NULL. + + + + Gets the decoding profile of the session. + Microsoft Docs: + Receives the decoding profile. For a list of possible values, see ID3D11VideoDevice::GetVideoDecoderProfile. + + + + + Get the properties of a render target view. + Microsoft Docs: + Pointer to the description of a render target view (see D3D11_RENDER_TARGET_VIEW_DESC). + + + + + Enables or disables stereo 3D video for an input stream on the video processor. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + The zero-based index of the input stream. To get the maximum number of streams, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the MaxStreamStates structure member. + Specifies whether stereo 3D is enabled for this stream. If the value is FALSE, the remaining parameters of this method are ignored. + Specifies the layout of the two stereo views in memory, as a D3D11_VIDEO_PROCESSOR_STEREO_FORMAT value. + If TRUE, frame 0 contains the left view. Otherwise, frame 0 contains the right view. + +This parameter is ignored for the following stereo formats: + +
    +
  • D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO
  • +
  • D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET
  • +
+ If TRUE, frame 0 contains the base view. Otherwise, frame 1 contains the base view. + +This parameter is ignored for the following stereo formats: + +
    +
  • D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO
  • +
  • D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET
  • +
  • When D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE is used and the application wants to convert the stereo data to mono, it can either:
      +
    • Specify the base view as a mono input.
    • +
    • Specify both resources and allow the driver to do the conversion from the base view. In this case, D3D11_VIDEO_PROCESSOR_STREAM.hInputSurface is considered frame 0 and D3D11_VIDEO_PROCESSOR_STREAM.hInputSurfaceRight is considered frame 1.
    • +
    +
  • +
+ A flag from the D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE enumeration, specifying whether one of the views is flipped. + For D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET format, this parameter specifies how to generate the left and right views: + +
    +
  • If MonoOffset is positive, the right view is shifted to the right by that many pixels, and the left view is shifted to the left by the same amount.
  • +
  • If MonoOffset is negative, the right view is shifted to the left by that many pixels, and the left view is shifted to right by the same amount.
  • +
+If Format is not D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET, this parameter must be zero. +
+
+ + + Sets the color space information for the video processor input stream. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. + An index identifying the input stream. + A DXGI_COLOR_SPACE_TYPE value that specifies the colorspace for the video processor input stream. + + + + + Get the hull shader currently set on the device. + Microsoft Docs: + Address of a pointer to a hull shader (see ID3D11HullShader) to be returned by the method. + Pointer to an array of class instance interfaces (see ID3D11ClassInstance). + The number of class-instance elements in the array. + + + + + Specifies the parts of the depth stencil to clear. + Microsoft Docs: + + + + Clear the depth buffer, using fast clear if possible, then place the resource in a compressed state. + + + Clear the stencil buffer, using fast clear if possible, then place the resource in a compressed state. + + + + Create an input-layout object to describe the input-buffer data for the input-assembler stage. + Microsoft Docs: + An array of the input-assembler stage input data types; each type is described by an element description (see D3D11_INPUT_ELEMENT_DESC). + The number of input-data types in the array of input-elements. + A pointer to the compiled shader. The compiled shader code contains a input signature which is validated against the array of elements. See remarks. + Size of the compiled shader. + A pointer to the input-layout object created (see ID3D11InputLayout). To validate the other input parameters, set this pointer to be NULL and verify that the method returns S_FALSE. + + + + + Creates a device that represents the display adapter. + Microsoft Docs: + A pointer to the video adapter to use when creating a device. Pass NULL to use the default adapter, which is the first adapter that is enumerated by IDXGIFactory1::EnumAdapters. + +
Note  Do not mix the use of DXGI 1.0 (IDXGIFactory) and DXGI 1.1 (IDXGIFactory1) in an application. Use IDXGIFactory or IDXGIFactory1, but not both in an application. +
+
 
+ The D3D_DRIVER_TYPE, which represents the driver type to create. + A handle to a DLL that implements a software rasterizer. + If DriverType is D3D_DRIVER_TYPE_SOFTWARE, + Software must not be NULL. Get the handle by + calling LoadLibrary, + LoadLibraryEx , + or GetModuleHandle. + The runtime layers to enable (see D3D11_CREATE_DEVICE_FLAG); + values can be bitwise OR'd together. + A pointer to an array of D3D_FEATURE_LEVELs, which determine the order of feature levels to attempt to create. + If pFeatureLevels is set to NULL, + this function uses the following array of feature levels: + + + + +{ + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, +}; + + + +
Note  If the Direct3D 11.1 runtime is present on the computer and pFeatureLevels is set to NULL, this function won't create a D3D_FEATURE_LEVEL_11_1 device. To create a D3D_FEATURE_LEVEL_11_1 device, you must explicitly provide a D3D_FEATURE_LEVEL array that includes D3D_FEATURE_LEVEL_11_1. If you provide a D3D_FEATURE_LEVEL array that contains D3D_FEATURE_LEVEL_11_1 on a computer that doesn't have the Direct3D 11.1 runtime installed, this function immediately fails with E_INVALIDARG. +
+
 
+ The number of elements in pFeatureLevels. + The SDK version; use D3D11_SDK_VERSION. + Returns the address of a pointer to an ID3D11Device object that represents the device created. If this parameter is NULL, no ID3D11Device will be returned. + If successful, returns the first D3D_FEATURE_LEVEL from the pFeatureLevels array which succeeded. Supply NULL as an input if you don't need to determine which feature level is supported. + Returns the address of a pointer to an ID3D11DeviceContext object that represents the device context. If this parameter is NULL, no ID3D11DeviceContext will be returned. +
+
+ + + Get a description of how a resource is bound to a shader. + Microsoft Docs: + The constant-buffer name of the resource. + A pointer to an input-binding description. See D3D11_SHADER_INPUT_BIND_DESC. + + + + + Allows the driver to return IHV specific information used when initializing the new hardware key. + Microsoft Docs: + A pointer to the ID3D11CryptoSession interface. To get this pointer, call ID3D11VideoDevice1::CreateCryptoSession. + The size of the memory referenced by the pPrivateInputData parameter. + The private input data. The contents of this parameter is defined by the implementation of the secure execution environment. It may contain data about the license or about the stream properties. + A pointer to the private output data. The return data is defined by the implementation of the secure execution environment. It may contain graphics-specific data to be associated with the underlying hardware key. + + + + + Gets the minimum level-of-detail (LOD). + Microsoft Docs: + A pointer to an ID3D11Resource which represents the resource. + + + + + Gets the description for depth-stencil state that you used to create the depth-stencil-state object. + Microsoft Docs: + A pointer to a D3D11_DEPTH_STENCIL_DESC structure that receives a description of the depth-stencil state. + + + + + Get the array of scissor rectangles bound to the rasterizer stage. + Microsoft Docs: + The number of scissor rectangles (ranges between 0 and D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) bound; set pRects to NULL to use pNumRects to see how many rectangles would be returned. + An array of scissor rectangles (see D3D11_RECT). If NumRects is greater than the number of scissor rects currently bound, then unused members of the array will contain 0. + + + + + Get a pointer to the index buffer that is bound to the input-assembler stage. + Microsoft Docs: + A pointer to an index buffer returned by the method (see ID3D11Buffer). + Specifies format of the data in the index buffer (see DXGI_FORMAT). These formats provide the size and type of + the data in the buffer. The only formats allowed for index buffer data are 16-bit (DXGI_FORMAT_R16_UINT) and 32-bit (DXGI_FORMAT_R32_UINT) + integers. + Offset (in bytes) from the start of the index buffer, to the first index to use. + + + + + A vertex-shader interface manages an executable program (a vertex shader) that controls the vertex-shader stage. + Microsoft Docs: + + + + + Describes a trace step, which is an instruction. + Microsoft Docs: + + + + A number that identifies the instruction, as an offset into the executable instructions that are present in the shader. + +HLSL debugging information uses the same convention. Therefore, HLSL instructions are matched to a set of IDs. You can then map an ID to a disassembled string that can be displayed to the user. + + + A value that specifies whether the instruction is active. This value is TRUE if something happened; therefore, you should parse other data in this structure. Otherwise, nothing happened; for example, if an instruction is disabled due to flow control even though other pixels in the stamp execute it. + + + The number of registers for the instruction that are written to. The range of registers is [0...NumRegistersWritten-1]. You can pass a register number to the writtenRegisterIndex parameter of ID3D11ShaderTrace::GetWrittenRegister to retrieve individual write-register information. + + + The number of registers for the instruction that are read from. The range of registers is [0...NumRegistersRead-1]. You can pass a register number to the readRegisterIndex parameter of ID3D11ShaderTrace::GetReadRegister to retrieve individual read-register information. + + + A number that specifies the type of instruction (for example, add, mul, and so on). You can ignore this member if you do not know the number for the instruction type. This member offers a minor convenience at the cost of bloating the trace slightly. You can use the ID member and map back to the original shader code to retrieve the full information about the instruction. + + + The global cycle count for this step. You can use this member to correlate parallel thread execution via multiple simultaneous traces, for example, for the compute shader. + + +
Note  Multiple threads at the same point in execution might log the same CurrentGlobalCycle. +
+
 
+
+ + + Gets information about the features that are supported by the current graphics driver. + Microsoft Docs: + A member of the D3D11_FEATURE enumerated type that describes which feature to query for support. + Upon completion of the method, the passed structure is filled with data that describes the feature support. + The size of the structure passed to the pFeatureSupportData parameter. + + + + + Sets a swap chain that the runtime will use for automatically calling IDXGISwapChain::Present. + Microsoft Docs: + Swap chain that the runtime will use for automatically calling IDXGISwapChain::Present; must have been created with the DXGI_SWAP_EFFECT_SEQUENTIAL swap-effect flag. + + + + + Get a shader-reflection-variable type by name. + Microsoft Docs: + Member name. + + + + + Gets a handle to the driver. + Microsoft Docs: + Receives a handle to the driver. + + + + + Specifies a YCbCr color value. + Microsoft Docs: + + + + The Y luma value. + + + The Cb chroma value. + + + The Cr chroma value. + + + The alpha value. Values range from 0 (transparent) to 1 (opaque). + + + + Gets the description for rasterizer state that you used to create the rasterizer-state object. + Microsoft Docs: + A pointer to a D3D11_RASTERIZER_DESC1 structure that receives a description of the rasterizer state. This rasterizer state can specify forced sample count. + + + + + Opens a handle for a shared fence by using HANDLE and REFIID. + Microsoft Docs: + The handle that was returned by a call to ID3D11Fence::CreateSharedHandle or ID3D12Device::CreateSharedHandle. + The globally unique identifier (GUID) for the ID3D11Fence interface. The REFIID, or GUID, of the interface can be obtained by using the __uuidof() macro. For example, __uuidof(ID3D11Fence) will get the GUID of the interface to the fence. + A pointer to a memory block that receives a pointer to the ID3D11Fence interface. + + + + + A shader-reflection interface accesses shader information. + Microsoft Docs: + + + + + A 3D texture interface represents texel data, which is structured memory. + Microsoft Docs: + + + + + A geometry-shader interface manages an executable program (a geometry shader) that controls the geometry-shader stage. + Microsoft Docs: + + + + + A view interface specifies the parts of a resource the pipeline can access during rendering. + Microsoft Docs: + + + + + Describes a trace value. + Microsoft Docs: + + + + An array of bits that make up the trace value. The [0] element is X. + + +
Note  This member can hold float, UINT, or INT data. + The elements are specified as UINT rather than using a union to minimize the risk of x86 SNaN->QNaN quashing during float assignment. + If the bits are displayed, they can be interpreted as float at the last moment. +
+
 
+
+ + A combination of the following component values that are combined by using a bitwise OR operation. + The resulting value specifies the component trace mask. + + + + + + + + + + + + + + + + + + + + + + + +
FlagDescription
D3D11_TRACE_COMPONENT_X (0x1)The x component of the trace mask.
D3D11_TRACE_COMPONENT_Y (0x2)The y component of the trace mask.
D3D11_TRACE_COMPONENT_Z (0x4)The depth z component of the trace mask.
D3D11_TRACE_COMPONENT_W (0x8)The depth w component of the trace mask.
+  + +Ignore unmasked values, particularly if deltas are accumulated.
+
+ + + Get the target output buffers for the stream-output stage of the pipeline. + Microsoft Docs: + Number of buffers to get. + An array of output buffers (see ID3D11Buffer) to be retrieved from the device. + + + + + Clears an unordered access resource with bit-precise values. + Microsoft Docs: + The ID3D11UnorderedAccessView to clear. + Values to copy to corresponding channels, see remarks. + + + + + Get an array of sampler state interfaces from the geometry shader pipeline stage. + Microsoft Docs: + Index into a zero-based array to begin getting samplers from (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers to get from a device context. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). + + + + + Describes a sub sample mapping block. + Microsoft Docs: + + + + The number of clear (non-encrypted) bytes at the start of the block. + + + The number of encrypted bytes following the clear bytes. + + + + Get the number of messages that were discarded due to the message count limit. + Microsoft Docs: + + + + + Gets the number of decoder configurations that the driver supports for a specified video description. + Microsoft Docs: + A pointer to a D3D11_VIDEO_DECODER_DESC structure that describes the video stream. + Receives the number of decoder configurations. + + + + + Gets a description of how a resource is bound to a function. + Microsoft Docs: + A zero-based resource index. + A pointer to a D3D11_SHADER_INPUT_BIND_DESC structure that describes input binding of the resource. + + + + + Identifies the output surfaces that can be accessed during video processing. + Microsoft Docs: + + + + + Blend factors, which modulate values for the pixel shader and render target. + Microsoft Docs: + + + + The blend factor is (0, 0, 0, 0). No pre-blend operation. + + + The blend factor is (1, 1, 1, 1). No pre-blend operation. + + + The blend factor is (Râ‚›, Gâ‚›, Bâ‚›, Aâ‚›), that is color data (RGB) from a pixel shader. No pre-blend operation. + + + The blend factor is (1 - Râ‚›, 1 - Gâ‚›, 1 - Bâ‚›, 1 - Aâ‚›), that is color data (RGB) from a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB. + + + The blend factor is (Aâ‚›, Aâ‚›, Aâ‚›, Aâ‚›), that is alpha data (A) from a pixel shader. No pre-blend operation. + + + The blend factor is ( 1 - Aâ‚›, 1 - Aâ‚›, 1 - Aâ‚›, 1 - Aâ‚›), that is alpha data (A) from a pixel shader. The pre-blend operation inverts the data, generating 1 - A. + + + The blend factor is (Ad Ad Ad Ad), that is alpha data from a render target. No pre-blend operation. + + + The blend factor is (1 - Ad 1 - Ad 1 - Ad 1 - Ad), that is alpha data from a render target. The pre-blend operation inverts the data, generating 1 - A. + + + The blend factor is (Rd, Gd, Bd, Ad), that is color data from a render target. No pre-blend operation. + + + The blend factor is (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad), that is color data from a render target. The pre-blend operation inverts the data, generating 1 - RGB. + + + The blend factor is (f, f, f, 1); where f = min(Aâ‚›, 1 + - Ad). The pre-blend operation clamps the data to 1 or less. + + + The blend factor is the blend factor set with ID3D11DeviceContext::OMSetBlendState. No pre-blend operation. + + + The blend factor is the blend factor set with ID3D11DeviceContext::OMSetBlendState. The pre-blend operation inverts the blend factor, generating 1 - blend_factor. + + + The blend factor is data sources both as color data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending. + + + The blend factor is data sources both as color data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - RGB. This blend factor supports dual-source color blending. + + + The blend factor is data sources as alpha data output by a pixel shader. There is no pre-blend operation. This blend factor supports dual-source color blending. + + + The blend factor is data sources as alpha data output by a pixel shader. The pre-blend operation inverts the data, generating 1 - A. This blend factor supports dual-source color blending. + + + + Rebinds a constant buffer by name to a destination slot. + Microsoft Docs: + The name of the constant buffer for rebinding. + The destination slot number for rebinding. + The offset in bytes of the destination slot for rebinding. The offset must have 16-byte alignment. + + + + + Sets all the elements in a resource view to one value. + Microsoft Docs: + A pointer to the ID3D11View interface that represents the resource view to clear. + A 4-component array that represents the color to use to clear the resource view. + An array of D3D11_RECT structures for the rectangles in the resource view to clear. If NULL, ClearView clears the entire surface. + Number of rectangles in the array that the pRect parameter specifies. + + + + + Creates a render-target view for accessing resource data. + Microsoft Docs: + Pointer to a ID3D11Resource that represents a render target. This resource must have been created with the D3D11_BIND_RENDER_TARGET flag. + Pointer to a D3D11_RENDER_TARGET_VIEW_DESC1 that represents a render-target view description. Set this parameter to NULL to create a view that accesses all of the subresources in mipmap level 0. + A pointer to a memory block that receives a pointer to a ID3D11RenderTargetView1 interface for the created render-target view. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Get a query description. + Microsoft Docs: + Pointer to a query description (see D3D11_QUERY_DESC). + + + + + Get the rendering predicate state. + Microsoft Docs: + Address of a pointer to a predicate (see ID3D11Predicate). Value stored here will be NULL upon device creation. + Address of a boolean to fill with the predicate comparison value. FALSE upon device creation. + + + + + Sends a query to an authenticated channel. + Microsoft Docs: + A pointer to the ID3D11AuthenticatedChannel interface. + The size of the pInput array, in bytes. + A pointer to a byte array that contains input data for the query. This array always starts with a D3D11_AUTHENTICATED_QUERY_INPUT structure. The QueryType member of the structure specifies the query and defines the meaning of the rest of the array. + The size of the pOutput array, in bytes. + A pointer to a byte array that receives the result of the query. This array always starts with a D3D11_AUTHENTICATED_QUERY_OUTPUT structure. The meaning of the rest of the array depends on the query. + + + + + Provides the video decoding and video processing capabilities of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Gets the size of the driver's certificate chain. + Microsoft Docs: + Receives the size of the certificate chain, in bytes. + + + + + Identify a technique for resolving texture coordinates that are outside of the boundaries of a texture. + Microsoft Docs: + + + + Tile the texture at every (u,v) integer junction. For example, for u values between 0 and 3, the texture is repeated three times. + + + Flip the texture at every (u,v) integer junction. For u values between 0 and 1, for example, the texture is addressed normally; between 1 and 2, the texture is flipped (mirrored); between 2 and 3, the texture is normal again; and so on. + + + Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively. + + + Texture coordinates outside the range [0.0, 1.0] are set to the border color specified in D3D11_SAMPLER_DESC or HLSL code. + + + Similar to D3D11_TEXTURE_ADDRESS_MIRROR and D3D11_TEXTURE_ADDRESS_CLAMP. Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value. + + + + Gives a device access to a shared resource that is referenced by a handle and that was created on a different device. + Microsoft Docs: + A handle to the resource to open. For more info about this parameter, see Remarks. + The globally unique identifier (GUID) for the resource interface. For more info about this parameter, see Remarks. + A pointer to a variable that receives a pointer to the interface for the shared resource object to access. + + + + + Creates a query object for querying information from the graphics processing unit (GPU). + Microsoft Docs: + Pointer to a D3D11_QUERY_DESC1 structure that represents a query description. + A pointer to a memory block that receives a pointer to a ID3D11Query1 interface for the created query object. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Describes information about Direct3D 11.1 adapter architecture. + Microsoft Docs: + + + + Specifies whether a rendering device batches rendering commands and performs multipass rendering into tiles or bins over a render area. Certain API usage patterns that are fine for TileBasedDefferredRenderers (TBDRs) can perform worse on non-TBDRs and vice versa. Applications that are careful about rendering can be friendly to both TBDR and non-TBDR architectures. TRUE if the rendering device batches rendering commands and FALSE otherwise. + + + + Device context options. + Microsoft Docs: + + + + The device context is an immediate context. + + + The device context is a deferred context. + + + + Indicates the tier level at which tiled resources are supported. + Microsoft Docs: + + + + Tiled resources are not supported. + + + Tier_1 tiled resources are supported. + +The device supports calls to CreateTexture2D and so on with the D3D11_RESOURCE_MISC_TILED flag. + + +The device supports calls to CreateBuffer with the D3D11_RESOURCE_MISC_TILE_POOL flag. + + +If you access tiles (read or write) that are NULL-mapped, you get undefined behavior, which includes device-removed. Apps can map all tiles to a single "default" tile to avoid this condition. + + + Tier_2 tiled resources are supported. + + +Superset of Tier_1 functionality, which includes this additional support: + + +
    +
  • On Tier_1, if the size of a texture mipmap level is an integer multiple of the standard tile shape for its format, it is guaranteed to be nonpacked. On Tier_2, this guarantee is expanded to include mipmap levels whose size is at least one standard tile shape. + For more info, see D3D11_PACKED_MIP_DESC. +
  • +
  • Shader instructions are available for clamping level-of-detail (LOD) and for obtaining status about the shader operation. For info about one of these shader instructions, see Sample(S,float,int,float,uint). +
  • +
  • Reading from NULL-mapped tiles treat that sampled value as zero. Writes to NULL-mapped tiles are discarded. +
  • +
+
+ + Tier_3 tiled resources are supported. + + +Superset of Tier_2 functionality, Tier 3 is essentially Tier 2 but with the additional support of Texture3D for Tiled Resources. + + + + Specifies the subresources from an array of multisampled 2D textures for a depth-stencil view. + Microsoft Docs: + + + + The index of the first texture to use in an array of textures. + + + Number of textures to use. + + + + Describes a counter. + Microsoft Docs: + + + + Type of counter (see D3D11_COUNTER). + + + Reserved. + + + + Provides access to subresource data. + Microsoft Docs: + + + + Pointer to the data. When ID3D11DeviceContext::Map provides the pointer, the runtime ensures that the pointer has a specific alignment, depending on the following feature levels: + + + + + The row pitch, or width, or physical size (in bytes) of the data. + + + The depth pitch, or width, or physical size (in bytes)of the data. + + + + Set a bit field of flags that will turn debug features on and off. + Microsoft Docs: + A combination of feature-mask flags that are combined by using a bitwise OR operation. If a flag is present, that feature will be set to on, otherwise the feature will be set to off. For descriptions of the feature-mask flags, see Remarks. + + + + + Debug message filter; contains a lists of message types to allow or deny. + Microsoft Docs: + + + + Types of messages that you want to allow. See D3D11_INFO_QUEUE_FILTER_DESC. + + + Types of messages that you want to deny. + + + + Adds a clip plane with the plane coefficients taken from a cbuffer entry for 10Level9 shaders. + Microsoft Docs: + The cbuffer slot number. + The cbuffer entry number. + + + + + Allows applications to annotate graphics commands. + Microsoft Docs: + An optional string that will be logged to ETW when ETW logging is active. If ‘#d’ appears in the string, it will be replaced by the value of the Data parameter similar to the way printf works. + A signed data value that will be logged to ETW when ETW logging is active. + + + + + Describes Direct3D 11.3 feature options in the current graphics driver. + Microsoft Docs: + + + + Whether to use the VP and RT array index from any shader feeding the rasterizer. + + + + Describes whether simple instancing is supported. + Microsoft Docs: + + + + Specifies whether the hardware and driver support simple instancing. The runtime sets this member to TRUE if the hardware and driver support simple instancing. + + + + Initializes a class-instance object that represents an HLSL class instance. + Microsoft Docs: + The type name of a class to initialize. + Identifies the constant buffer that contains the class data. + The four-component vector offset from the start of the constant buffer where the class data will begin. Consequently, this is not a byte offset. + The texture slot for the first texture; there may be multiple textures following the offset. + The sampler slot for the first sampler; there may be multiple samplers following the offset. + The address of a pointer to an ID3D11ClassInstance interface to initialize. + + + + + Queries whether the video processor supports a specified video format. + Microsoft Docs: + The video format to query, specified as a DXGI_FORMAT value. + Receives a bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT enumeration. + + + + + A debug message in the Information Queue. + Microsoft Docs: + + + + The category of the message. See D3D11_MESSAGE_CATEGORY. + + + The severity of the message. See D3D11_MESSAGE_SEVERITY. + + + The ID of the message. See D3D11_MESSAGE_ID. + + + The message string. + + + The length of pDescription in bytes. + + + + Retrieves optional sizes for private driver data. + Microsoft Docs: + Indicates the crypto type for which the private input and output size is queried. + Indicates the decoder profile for which the private input and output size is queried. + Indicates the key exchange type for which the private input and output size is queried. + Returns the size of private data that the driver needs for input commands. + Returns the size of private data that the driver needs for output commands. + + + + + Sets the specified pixel-shader stamp. + Microsoft Docs: + The index of the stamp to select. + + + + + Describes the subresource from a 2D texture to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and (MipLevels (from the original Texture2D for which + ID3D11Device3::CreateShaderResourceView1creates a view) - 1 ). + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + The index (plane slice number) of the plane to use in the texture. + + + + Set the eviction priority of a resource. + Microsoft Docs: + + + + + + Get the compute shader currently set on the device. + Microsoft Docs: + Address of a pointer to a Compute shader (see ID3D11ComputeShader) to be returned by the method. + Pointer to an array of class instance interfaces (see ID3D11ClassInstance). + The number of class-instance elements in the array. + + + + + Creates a channel to communicate with the Microsoft Direct3D device or the graphics driver. + Microsoft Docs: + Specifies the type of channel, as a member of the D3D11_AUTHENTICATED_CHANNEL_TYPE enumeration. + Receives a pointer to the ID3D11AuthenticatedChannel interface. The caller must release the interface. + + + + + Add storage filters to the top of the storage-filter stack. + Microsoft Docs: + Array of storage filters (see D3D11_INFO_QUEUE_FILTER). + + + + + Sets the constant buffers that the geometry shader pipeline stage uses. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + An array that holds the offsets into the buffers that ppConstantBuffers specifies. Each offset specifies where, from the shader's point of view, each constant buffer starts. Each offset is measured in shader constants, which are 16 bytes (4*32-bit components). Therefore, an offset of 16 indicates that the start of the associated constant buffer is 256 bytes into the constant buffer. Each offset must be a multiple of 16 constants. + An array that holds the numbers of constants in the buffers that ppConstantBuffers specifies. Each number specifies the number of constants that are contained in the constant buffer that the shader uses. Each number of constants starts from its respective offset that is specified in the pFirstConstant array. Each number of constants must be a multiple of 16 constants, in the range [0..4096]. + + + + + Passes a value with swizzle from a source linking node to a destination linking node. + Microsoft Docs: + A pointer to the ID3D11LinkingNode interface for the source linking node. + The zero-based index of the source parameter. + The name of the source swizzle. + A pointer to the ID3D11LinkingNode interface for the destination linking node. + The zero-based index of the destination parameter. + The name of the destination swizzle. + + + + + Data type of a performance counter. + Microsoft Docs: + + + + 32-bit floating point. + + + 16-bit unsigned integer. + + + 32-bit unsigned integer. + + + 64-bit unsigned integer. + + + + Specifies the protection level for video content. + Microsoft Docs: + + + + If 1, video content protection is enabled. + + + If 1, the application requires video to be displayed using either a hardware overlay or full-screen exclusive mode. + + + Reserved. Set all bits to zero. + + + Use this member to access all of the bits in the union. + + + + Specifies whether the video processor produces stereo video frames. + Microsoft Docs: + A pointer to the ID3D11VideoProcessor interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessor. + If TRUE, stereo output is enabled. Otherwise, the video processor produces mono video frames. + + + + + Execute a command list over one or more thread groups. + Microsoft Docs: + A pointer to an ID3D11Buffer, which must be loaded with data that matches the argument list for ID3D11DeviceContext::Dispatch. + A byte-aligned offset between the start of the buffer and the arguments. + + + + + Get a boolean that turns the debug output on or off. + Microsoft Docs: + + + + + Get the geometry shader currently set on the device. + Microsoft Docs: + Address of a pointer to a geometry shader (see ID3D11GeometryShader) to be returned by the method. + Pointer to an array of class instance interfaces (see ID3D11ClassInstance). + The number of class-instance elements in the array. + + + + + Set the constant buffers used by the hull-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + + + + + Unregisters the "device removed" event. + Microsoft Docs: + Information about the "device removed" event, + retrieved during a successful RegisterDeviceRemovedEvent call. + + + + + Set an array of sampler states to the geometry shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). See Remarks. + + + + + Bind an array of shader resources to the compute-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources(ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to set to the device. + + + + + Identifies the output surfaces that can be accessed during video decoding. + Microsoft Docs: + + + + + Bind information about the primitive type, and data order that describes input data for the input assembler stage. + Microsoft Docs: + The type of primitive and ordering of the primitive data (see D3D11_PRIMITIVE_TOPOLOGY). + + + + + Identifies expected resource use during rendering. The usage directly reflects whether a resource is accessible by the CPU and/or the graphics processing unit (GPU). + Microsoft Docs: + + + + A resource that requires read and write access by the GPU. This is likely to be the most common usage choice. + + + A resource that can only be read by the GPU. It cannot be written by the GPU, and cannot be accessed at all by the CPU. This type of resource must be initialized when it is created, since it cannot be changed after creation. + + + A resource that is accessible by both the GPU (read only) and the CPU (write only). A dynamic resource is a good choice for a resource that will be updated by the CPU at least once per frame. To update a dynamic resource, use a Map method. + +For info about how to use dynamic resources, see How to: Use dynamic resources. + + + A resource that supports data transfer (copy) from the GPU to the CPU. + + + + Describes Direct3D 11.1 feature options in the current graphics driver. + Microsoft Docs: + + + + Specifies whether logic operations are available in blend state. The runtime sets this member to TRUE if logic operations are available in blend state and FALSE otherwise. This member is FALSE for feature level 9.1, 9.2, and 9.3. This member is optional for feature level 10, 10.1, and 11. This member is TRUE for feature level 11.1. + + + Specifies whether the driver can render with no render target views (RTVs) or depth stencil views (DSVs), and only unordered access views (UAVs) bound. The runtime sets this member to TRUE if the driver can render with no RTVs or DSVs and only UAVs bound and FALSE otherwise. If TRUE, you can set the ForcedSampleCount member of D3D11_RASTERIZER_DESC1 to 1, 4, or 8 when you render with no RTVs or DSV and only UAVs bound. For feature level 11.1, this member is always TRUE and you can also set ForcedSampleCount to 16 in addition to 1, 4, or 8. The default value of ForcedSampleCount is 0, which means the same as if the value is set to 1. You can always set ForcedSampleCount to 0 or 1 for UAV-only rendering independently of how this member is set. + + + Specifies whether the driver supports the ID3D11DeviceContext1::DiscardView and ID3D11DeviceContext1::DiscardResource methods. The runtime sets this member to TRUE if the driver supports these methods and FALSE otherwise. How this member is set does not indicate whether the driver actually uses these methods; that is, the driver might ignore these methods if they are not useful to the hardware. If FALSE, the runtime does not expose these methods to the driver because the driver does not support them. You can monitor this member during development to rule out legacy drivers on hardware where these methods might have otherwise been beneficial. You are not required to write separate code paths based on whether this member is TRUE or FALSE; you can call these methods whenever applicable. + + + Specifies whether the driver supports new semantics for copy and update that are exposed by the ID3D11DeviceContext1::CopySubresourceRegion1 and ID3D11DeviceContext1::UpdateSubresource1 methods. The runtime sets this member to TRUE if the driver supports new semantics for copy and update. The runtime sets this member to FALSE only for legacy drivers. The runtime handles this member similarly to the DiscardAPIsSeenByDriver member. + + + Specifies whether the driver supports the ID3D11DeviceContext1::ClearView method. The runtime sets this member to TRUE if the driver supports this method and FALSE otherwise. If FALSE, the runtime does not expose this method to the driver because the driver does not support it. + +
Note  For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime.
+
 
+
+ + Specifies whether you can call ID3D11DeviceContext1::CopySubresourceRegion1 with overlapping source and destination rectangles. The runtime sets this member to TRUE if you can call CopySubresourceRegion1 with overlapping source and destination rectangles and FALSE otherwise. If FALSE, the runtime does not expose this method to the driver because the driver does not support it. + +
Note  For feature level 9.1, 9.2, and 9.3, this member is always TRUE because drivers already support the option for these feature levels.
+
 
+
+ + Specifies whether the driver supports partial updates of constant buffers. The runtime sets this member to TRUE if the driver supports partial updates of constant buffers and FALSE otherwise. If FALSE, the runtime does not expose this operation to the driver because the driver does not support it. + +
Note  For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime.
+
 
+
+ + Specifies whether the driver supports new semantics for setting offsets in constant buffers for a shader. The runtime sets this member to TRUE if the driver supports allowing you to specify offsets when you call new methods like the ID3D11DeviceContext1::VSSetConstantBuffers1 method and FALSE otherwise. If FALSE, the runtime does not expose this operation to the driver because the driver does not support it. + +
Note  For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime.
+
 
+
+ + Specifies whether you can call ID3D11DeviceContext::Map with D3D11_MAP_WRITE_NO_OVERWRITE on a dynamic constant buffer (that is, whether the driver supports this operation). The runtime sets this member to TRUE if the driver supports this operation and FALSE otherwise. If FALSE, the runtime fails this method because the driver does not support the operation. + +
Note  For feature level 9.1, 9.2, and 9.3, this member is always TRUE because the option is emulated by the runtime.
+
 
+
+ + Specifies whether you can call ID3D11DeviceContext::Map with D3D11_MAP_WRITE_NO_OVERWRITE on a dynamic buffer SRV (that is, whether the driver supports this operation). The runtime sets this member to TRUE if the driver supports this operation and FALSE otherwise. If FALSE, the runtime fails this method because the driver does not support the operation. + + + Specifies whether the driver supports multisample rendering when you render with RTVs bound. If TRUE, you can set the ForcedSampleCount member of D3D11_RASTERIZER_DESC1 to 1 with a multisample RTV bound. The driver can support this option on feature level 10 and higher. If FALSE, the rasterizer-state creation will fail because the driver is legacy or the feature level is too low. + + + Specifies whether the hardware and driver support the msad4 intrinsic function in shaders. The runtime sets this member to TRUE if the hardware and driver support calls to msad4 intrinsic functions in shaders. If FALSE, the driver is legacy or the hardware does not support the option; the runtime will fail shader creation for shaders that use msad4. + + + Specifies whether the hardware and driver support the fma intrinsic function and other extended doubles instructions (DDIV and DRCP) in shaders. The fma intrinsic function emits an extended doubles DFMA instruction. The runtime sets this member to TRUE if the hardware and driver support extended doubles instructions in shaders (shader model 5 and higher). Support of this option implies support of basic double-precision shader instructions as well. You can use the D3D11_FEATURE_DOUBLES value to query for support of double-precision shaders. If FALSE, the hardware and driver do not support the option; the runtime will fail shader creation for shaders that use extended doubles instructions. + + + Specifies whether the hardware and driver have [extended support for shared Texture2D resource types and formats](/windows/win32/direct3d11/direct3d-11-1-features#extended-support-for-shared-texture2d-resources). The runtime sets this member to TRUE if the hardware and driver support extended Texture2D resource sharing. + + + + Describes the blend state for a render target. + Microsoft Docs: + + + + Enable (or disable) blending. + +> [!NOTE] +> It's not valid for LogicOpEnable and BlendEnable to both be TRUE. + + + Enable (or disable) a logical operation. + +> [!NOTE] +> If you set LogicOpEnable to TRUE, then BlendEnable must be FALSE, and the system's [D3D11_FEATURE_DATA_D3D11_OPTIONS::OutputMergerLogicOp](../d3d11/ns-d3d11-d3d11_feature_data_d3d11_options.md) option must be TRUE. + + + This blend option specifies the operation to perform on the RGB value that the pixel shader outputs. The BlendOp member defines how to combine the SrcBlend and DestBlend operations. + + + This blend option specifies the operation to perform on the current RGB value in the render target. The BlendOp member defines how to combine the SrcBlend and DestBlend operations. + + + This blend operation defines how to combine the SrcBlend and DestBlend operations. + + + This blend option specifies the operation to perform on the alpha value that the pixel shader outputs. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations. + + + This blend option specifies the operation to perform on the current alpha value in the render target. Blend options that end in _COLOR are not allowed. The BlendOpAlpha member defines how to combine the SrcBlendAlpha and DestBlendAlpha operations. + + + This blend operation defines how to combine the SrcBlendAlpha and DestBlendAlpha operations. + + + A D3D11_LOGIC_OP-typed value that specifies the logical operation to configure for the render target. + + + A write mask. + + + + Information about the video card's performance counter capabilities. + Microsoft Docs: + + + + Largest device-dependent counter ID that the device supports. If none are supported, this value will be 0. Otherwise it will be greater than or equal to D3D11_COUNTER_DEVICE_DEPENDENT_0. See D3D11_COUNTER. + + + Number of counters that can be simultaneously supported. + + + Number of detectable parallel units that the counter is able to discern. Values are 1 ~ 4. Use NumDetectableParallelUnits to interpret the values of the VERTEX_PROCESSING, GEOMETRY_PROCESSING, PIXEL_PROCESSING, and OTHER_GPU_PROCESSING counters. + + + + Get the retrieval filter at the top of the retrieval-filter stack. + Microsoft Docs: + Retrieval filter at the top of the retrieval-filter stack. + Size of the retrieval filter in bytes. If pFilter is NULL, the size of the retrieval filter will be output to this parameter. + + + + + Get the storage filter at the top of the storage-filter stack. + Microsoft Docs: + Storage filter at the top of the storage-filter stack. + Size of the storage filter in bytes. If pFilter is NULL, the size of the storage filter will be output to this parameter. + + + + + Create a depth-stencil view for accessing resource data. + Microsoft Docs: + Pointer to the resource that will serve as the depth-stencil surface. This resource must have been created with the D3D11_BIND_DEPTH_STENCIL flag. + Pointer to a depth-stencil-view description (see D3D11_DEPTH_STENCIL_VIEW_DESC). Set this parameter to NULL to create a view that accesses mipmap level 0 of the entire resource (using the format the resource was created with). + Address of a pointer to an ID3D11DepthStencilView. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Remove a retrieval filter from the top of the retrieval-filter stack. + Microsoft Docs: + + + + + Describes Direct3D 11.3 feature options in the current graphics driver. + Microsoft Docs: + + + + Specifies whether the hardware and driver support PSSpecifiedStencilRef. + The runtime sets this member to TRUE if the hardware and driver support this option. + + + Specifies whether the hardware and driver support TypedUAVLoadAdditionalFormats. + The runtime sets this member to TRUE if the hardware and driver support this option. + + + Specifies whether the hardware and driver support ROVs. + The runtime sets this member to TRUE if the hardware and driver support this option. + + + Specifies whether the hardware and driver support conservative rasterization. + The runtime sets this member to a D3D11_CONSERVATIVE_RASTERIZATION_TIER-typed value that indicates if the hardware and driver support conservative rasterization and at what tier level. + + + Specifies whether the hardware and driver support tiled resources. + The runtime sets this member to a D3D11_TILED_RESOURCES_TIER-typed value that indicates if the hardware and driver support tiled resources and at what tier level. + + + Specifies whether the hardware and driver support mapping on default textures. + The runtime sets this member to TRUE if the hardware and driver support this option. + + + Specifies whether the hardware and driver support standard swizzle. + The runtime sets this member to TRUE if the hardware and driver support this option. + + + Specifies whether the hardware and driver support Unified Memory Architecture. + The runtime sets this member to TRUE if the hardware and driver support this option. + + + + Describes a 2D texture. + Microsoft Docs: + + + + Texture width (in texels). The range is from 1 to D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). For a texture cube-map, the range is from 1 to D3D11_REQ_TEXTURECUBE_DIMENSION (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture height (in texels). The range is from 1 to D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384). For a texture cube-map, the range is from 1 to D3D11_REQ_TEXTURECUBE_DIMENSION (16384). However, the range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + The maximum number of mipmap levels in the texture. See the remarks in D3D11_TEX1D_SRV. Use 1 for a multisampled texture; or 0 to generate a full set of subtextures. + + + Number of textures in the texture array. The range is from 1 to D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048). For a texture cube-map, this value is a multiple of 6 (that is, 6 times the value in the NumCubes member of D3D11_TEXCUBE_ARRAY_SRV), and the range is from 6 to 2046. The range is actually constrained by the feature level at which you create the rendering device. For more information about restrictions, see Remarks. + + + Texture format (see DXGI_FORMAT). + + + Structure that specifies multisampling parameters for the texture. See DXGI_SAMPLE_DESC. + + + Value that identifies how the texture is to be read from and written to. The most common value is D3D11_USAGE_DEFAULT; see D3D11_USAGE for all possible values. + + + Flags (see D3D11_BIND_FLAG) for binding to pipeline stages. The flags can be combined by a logical OR. + + + Flags (see D3D11_CPU_ACCESS_FLAG) to specify the types of CPU access allowed. Use 0 if CPU access is not required. These flags can be combined with a logical OR. + + + Flags (see D3D11_RESOURCE_MISC_FLAG) that identify other, less common resource options. Use 0 if none of these flags apply. These flags can be combined by using a logical OR. For a texture cube-map, set the D3D11_RESOURCE_MISC_TEXTURECUBE flag. Cube-map arrays (that is, ArraySize > 6) require feature level D3D_FEATURE_LEVEL_10_1 or higher. + + + A D3D11_TEXTURE_LAYOUT-typed value that identifies the layout of the texture. + +The TextureLayout parameter selects both the actual layout of the texture in memory and the layout visible to the application while the texture is mapped. These flags may not be requested without CPU access also requested. + +It is illegal to set CPU access flags on default textures without also setting TextureLayout to a value other than D3D11_TEXTURE_LAYOUT_UNDEFINED. + +D3D11_TEXTURE_LAYOUT_ROW_MAJOR may only be used to create non-multisampled, textures with a single subresource (Planar YUV textures are supported). These textures may only be used as a source and destination of copy operations, and BindFlags must be zero. + + +D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE may only be used to create non-multisampled, non-depth-stencil textures. + + + + Get the number of messages that were denied passage through a storage filter. + Microsoft Docs: + + + + + Verifies whether the dispatch pipeline state is valid. + Microsoft Docs: + A pointer to the ID3D11DeviceContext that represents a device context. + + + + + Specifies the subresources from a an array of multisampled 2D textures to use in a render-target view. + Microsoft Docs: + + + + The index of the first texture to use in an array of textures. + + + Number of textures to use. + + + + Describes the capabilities of a Microsoft Direct3D 11 video processor. + Microsoft Docs: + + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_DEVICE_CAPS enumeration. + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_FEATURE_CAPS enumeration. + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSPR_FILTER_CAPS enumeration. + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_FORMAT_CAPS enumeration. + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS enumeration. + + + A bitwise OR of zero or more flags from the D3D11_VIDEO_PROCESSOR_STEREO_CAPS enumeration. + + + The number of frame-rate conversion capabilities. To enumerate the frame-rate conversion capabilities, call the ID3D11VideoProcessorEnumerator::GetVideoProcessorRateConversionCaps method. + + + The maximum number of input streams that can be enabled at the same time. + + + The maximum number of input streams for which the device can store state data. + + + + Waits until the specified fence reaches or exceeds the specified value before future work can begin. + Microsoft Docs: + A pointer to the ID3D11Fence object. + The value that the device context is waiting for the fence to reach or exceed. So when ID3D11Fence::GetCompletedValue is greater than or equal to Value, the wait is terminated. + + + + + A linking-node interface is used for shader linking. + Microsoft Docs: + + + + + Gets the depth-stencil state of the output-merger stage. + Microsoft Docs: + Address of a pointer to a depth-stencil state interface (see ID3D11DepthStencilState) to be filled with information from the device. + Pointer to the stencil reference value used in the depth-stencil test. + + + + + Gets a profile that is supported by the driver. + Microsoft Docs: + The zero-based index of the profile. To get the number of profiles that the driver supports, call ID3D11VideoDevice::GetVideoDecoderProfileCount. + Receives a GUID that identifies the profile. + + + + + Specifies the subresource from a multisampled 2D texture that is accessible to a depth-stencil view. + Microsoft Docs: + + + + Unused. + + + + The tracing device interface sets shader tracking information, which enables accurate logging and playback of shader execution. + Microsoft Docs: + + + + + Specifies the subresource from a cube texture to use in a shader-resource view. + Microsoft Docs: + + + + Index of the most detailed mipmap level to use; this number is between 0 and MipLevels (from the original TextureCube for which ID3D11Device::CreateShaderResourceView creates a view) -1. + + + The maximum number of mipmap levels for the view of the texture. See the remarks in D3D11_TEX1D_SRV. + +Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. + + + + Create a domain shader. + Microsoft Docs: + A pointer to a compiled shader. + Size of the compiled shader. + A pointer to a class linkage interface (see ID3D11ClassLinkage); the value can be NULL. + Address of a pointer to a ID3D11DomainShader interface. If this is NULL, all other parameters will be validated, and if all parameters pass validation this API will return S_FALSE instead of S_OK. + + + + + Gets the driver's certificate chain. + Microsoft Docs: + The size of the pCertificate array, in bytes. To get the size of the certificate chain, call ID3D11CryptoSession::GetCertificateSize. + A pointer to a byte array that receives the driver's certificate chain. The caller must allocate the array. + + + + + Specifies how to access a resource that is used in a video decoding output view. + Microsoft Docs: + + + + Not a valid value. + + + The resource will be accessed as a 2D texture. + + + + Generates Microsoft High Level Shader Language (HLSL) shader code that represents the function-linking-graph. + Microsoft Docs: + Reserved + An pointer to a variable that receives a pointer to the ID3DBlob interface that you can use to access the HLSL shader source code that represents the function-linking-graph. You can compile this HLSL code, but first you must add code or include statements for the functions called in the function-linking-graph. + + + + + Represents key exchange input data for hardware content protection. + Microsoft Docs: + + + + The size of the private data reserved for IHV usage. This size is determined from the pPrivateInputSize parameter returned by the ID3D11VideoDevice1::GetCryptoSessionPrivateDataSize function. + + + The size of the DRM command data. + + + If PrivateDataSize is greater than 0, pbInput[0] – pbInput[PrivateDataSize - 1] is reserved for IHV use. + +pbInput[PrivateDataSize] – pbInput[HWProtectionDataSize + PrivateDataSize - 1] contains the input data for the DRM command. The format and size of the DRM command is defined by the DRM specification. + + + + A device-child interface accesses data used by a device. + Microsoft Docs: + + + + + Options for the amount of information to report about a device object's lifetime. + Microsoft Docs: + + + + Specifies to obtain a summary about a device object's lifetime. + + + Specifies to obtain detailed information about a device object's lifetime. + + + This flag indicates to ignore objects which have no external refcounts keeping them alive. D3D objects are printed using an external refcount and an internal refcount. Typically, all objects are printed. This flag means ignore the objects whose external refcount is 0, because the application is not responsible for keeping them alive. + + + + Describes a video stream for a video processor. + Microsoft Docs: + + + + A member of the D3D11_VIDEO_FRAME_FORMAT enumeration that describes how the video stream is interlaced. + + + The frame rate of the input video stream, specified as a DXGI_RATIONAL structure. + + + The width of the input frames, in pixels. + + + The height of the input frames, in pixels. + + + The frame rate of the output video stream, specified as a DXGI_RATIONAL structure. + + + The width of the output frames, in pixels. + + + The height of the output frames, in pixels. + + + A member of the D3D11_VIDEO_USAGE enumeration that describes how the video processor will be used. The value indicates the desired trade-off between speed and video quality. The driver uses this flag as a hint when it creates the video processor. + + + + Sets the constant buffers used by the vertex shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + + + + + Creates a video processor device for Microsoft Direct3D 11. + Microsoft Docs: + A pointer to the ID3D11VideoProcessorEnumerator interface. To get this pointer, call ID3D11VideoDevice::CreateVideoProcessorEnumerator. + Specifies the frame-rate conversion capabilities for the video processor. The value is a zero-based index that corresponds to the TypeIndex parameter of the ID3D11VideoProcessorEnumerator::GetVideoProcessorRateConversionCaps method. + Receives a pointer to the ID3D11VideoProcessor interface. The caller must release the interface. + + + + + Creates a view for accessing an unordered access resource. + Microsoft Docs: + Pointer to an ID3D11Resource that represents a resources that will serve as an input to a shader. + Pointer to a D3D11_UNORDERED_ACCESS_VIEW_DESC1 structure that represents an unordered-access view description. Set this parameter to NULL to create a view that accesses the entire resource (using the format the resource was created with). + A pointer to a memory block that receives a pointer to a ID3D11UnorderedAccessView1 interface for the created unordered-access view. Set this parameter to NULL to validate the other input parameters (the method will return S_FALSE if the other input parameters pass validation). + + + + + Describes a shader-resource view. + Microsoft Docs: + + + + A DXGI_FORMAT specifying the viewing format. See remarks. + + + The resource type of the view. See D3D11_SRV_DIMENSION. You must set ViewDimension to the same resource type as that of the underlying resource. This parameter also determines which _SRV to use in the union below. + + + View the resource as a buffer using information from a shader-resource view (see D3D11_BUFFER_SRV). + + + View the resource as a 1D texture using information from a shader-resource view (see D3D11_TEX1D_SRV). + + + View the resource as a 1D-texture array using information from a shader-resource view (see D3D11_TEX1D_ARRAY_SRV). + + + View the resource as a 2D-texture using information from a shader-resource view (see D3D11_TEX2D_SRV). + + + View the resource as a 2D-texture array using information from a shader-resource view (see D3D11_TEX2D_ARRAY_SRV). + + + View the resource as a 2D-multisampled texture using information from a shader-resource view (see D3D11_TEX2DMS_SRV). + + + View the resource as a 2D-multisampled-texture array using information from a shader-resource view (see D3D11_TEX2DMS_ARRAY_SRV). + + + View the resource as a 3D texture using information from a shader-resource view (see D3D11_TEX3D_SRV). + + + View the resource as a 3D-cube texture using information from a shader-resource view (see D3D11_TEXCUBE_SRV). + + + View the resource as a 3D-cube-texture array using information from a shader-resource view (see D3D11_TEXCUBE_ARRAY_SRV). + + + View the resource as a raw buffer using information from a shader-resource view (see D3D11_BUFFEREX_SRV). For more info about raw viewing of buffers, see Raw Views of Buffers. + + + + Describes Direct3D 9 feature options in the current graphics driver. + Microsoft Docs: + + + + Specifies whether the driver supports the nonpowers-of-2-unconditionally feature. For more info about this feature, see feature level. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to FALSE if the hardware and driver support the powers-of-2 (2D textures must have widths and heights specified as powers of two) feature or the nonpowers-of-2-conditionally feature. + + + Specifies whether the driver supports the shadowing feature with the comparison-filtering mode set to less than or equal to. The runtime sets this member to TRUE for hardware at Direct3D 10 and higher feature levels. For hardware at Direct3D 9.3 and lower feature levels, the runtime sets this member to TRUE only if the hardware and driver support the shadowing feature; otherwise FALSE. + + + Specifies whether the hardware and driver support simple instancing. The runtime sets this member to TRUE if the hardware and driver support simple instancing. + + + Specifies whether the hardware and driver support setting a single face of a TextureCube as a render target while the depth stencil surface that is bound alongside can be a Texture2D (as opposed to TextureCube). The runtime sets this member to TRUE if the hardware and driver support this feature; otherwise FALSE. + +If the hardware and driver don't support this feature, the app must match the render target surface type with the depth stencil surface type. Because hardware at Direct3D 9.3 and lower feature levels doesn't allow TextureCube depth surfaces, the only way to render a scene into a TextureCube while having depth buffering enabled is to render each TextureCube face separately to a Texture2D render target first (because that can be matched with a Texture2D depth), and then copy the results into the TextureCube. If the hardware and driver support this feature, the app can just render to the TextureCube faces directly while getting depth buffering out of a Texture2D depth buffer. + +You only need to query this feature from hardware at Direct3D 9.3 and lower feature levels because hardware at Direct3D 10.0 and higher feature levels allow TextureCube depth surfaces. + + + + Get the geometry shader resources. + Microsoft Docs: + Index into the device's zero-based array to begin getting shader resources from (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + The number of resources to get from the device. Up to a maximum of 128 slots are available for shader resources (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to be returned by the device. + + + + + Set an array of sampler states to the compute-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting samplers to (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1). + Number of samplers in the array. Each pipeline stage has a total of 16 sampler slots available (ranges from 0 to D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot). + Pointer to an array of sampler-state interfaces (see ID3D11SamplerState). See Remarks. + + + + + Sets the constant buffers used by the pixel shader pipeline stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffers (see ID3D11Buffer) being given to the device. + + + + + Bind an array of shader resources to the hull-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources(ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to set to the device. + + + + + Flags for indicating a subset of components used with video decode histogram. + Microsoft Docs: + + + + No associated component. + + + If the format is a YUV format, indicates the Y component. + + + If the format is a YUV format, indicates the U component. + + + If the format is a YUV format, indicates the V component. + + + If the format is an RGB/BGR format, indicates the R component. + + + If the format is an RGB/BGR format, indicates the G component. + + + If the format is an RGB/BGR format, indicates the B component. + + + If the format is an RGB/BGR format, indicates the A component. + + + + Specifies the rate at which the video processor produces output frames from an input stream. + Microsoft Docs: + + + + The output is the normal frame rate. + + + The output is half the frame rate. + + + The output is a custom frame rate. + + + + This shader-reflection interface provides access to variable type. + Microsoft Docs: + + + + + Get a patch-constant parameter description for a shader. + Microsoft Docs: + A zero-based parameter index. + A pointer to a shader-input-signature description. See D3D11_SIGNATURE_PARAMETER_DESC. + + + + + Contains a Message Authentication Code (MAC). + Microsoft Docs: + + + + A byte array that contains the cryptographic MAC value of the message. + + + + The blend-state interface holds a description for blending state that you can bind to the output-merger stage. This blend-state interface supports logical operations as well as blending operations. + Microsoft Docs: + + + + + Enumerates the video processor capabilities of a Microsoft Direct3D 11 device. + Microsoft Docs: + + + + + Rebinds a resource as an unordered access view (UAV) from source slot to destination slot. + Microsoft Docs: + The first source slot number for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + A library-reflection interface accesses library info. + Microsoft Docs: + + + + + Debug message severity levels for an information queue. + Microsoft Docs: + + + + Defines some type of corruption which has occurred. + + + Defines an error message. + + + Defines a warning message. + + + Defines an information message. + + + Defines a message other than corruption, error, warning, or information. + +Direct3D 11:  This value is not supported until Direct3D 11.1. + + + + Allows applications to annotate the beginning of a range of graphics commands. + Microsoft Docs: + An optional string that will be logged to ETW when ETW logging is active. If ‘#d’ appears in the string, it will be replaced by the value of the Data parameter similar to the way printf works. + A signed data value that will be logged to ETW when ETW logging is active. + + + + + Gets a random number that can be used to refresh the session key. + Microsoft Docs: + A pointer to the ID3D11CryptoSession interface. + The size of the pRandomNumber array, in bytes. The size should match the size of the session key. + A pointer to a byte array that receives a random number. + + + + + RGB or alpha blending operation. + Microsoft Docs: + + + + Add source 1 and source 2. + + + Subtract source 1 from source 2. + + + Subtract source 2 from source 1. + + + Find the minimum of source 1 and source 2. + + + Find the maximum of source 1 and source 2. + + + + Specifies the types of CPU access allowed for a resource. + Microsoft Docs: + + + + The resource is to be mappable so that the CPU can change its contents. Resources created with this flag cannot be set as outputs of the pipeline and must be created with either dynamic or staging usage (see D3D11_USAGE). + + + The resource is to be mappable so that the CPU can read its contents. Resources created with this flag cannot be set as either inputs or outputs to the pipeline and must be created with staging usage (see D3D11_USAGE). + + + + Get the constant buffers used by the hull-shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin retrieving constant buffers from (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1). + Number of buffers to retrieve (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot). + Array of constant buffer interface pointers (see ID3D11Buffer) to be returned by the method. + + + + + Updates mappings of tile locations in tiled resources to memory locations in a tile pool. + Microsoft Docs: + A pointer to the tiled resource. + The number of tiled resource regions. + An array of D3D11_TILED_RESOURCE_COORDINATE structures that describe the starting coordinates of the tiled resource regions. The NumTiledResourceRegions parameter specifies the number of D3D11_TILED_RESOURCE_COORDINATE structures in the array. + An array of D3D11_TILE_REGION_SIZE structures that describe the sizes of the tiled resource regions. The NumTiledResourceRegions parameter specifies the number of D3D11_TILE_REGION_SIZE structures in the array. + A pointer to the tile pool. + The number of tile-pool ranges. + An array of D3D11_TILE_RANGE_FLAG values that describe each tile-pool range. The NumRanges parameter specifies the number of values in the array. + An array of offsets into the tile pool. These are 0-based tile offsets, counting in tiles (not bytes). + An array of tiles. + +An array of values that specify the number of tiles in each tile-pool range. The NumRanges parameter specifies the number of values in the array. + A combination of D3D11_TILE_MAPPING_FLAGS values that are combined by using a bitwise OR operation. + + + + + Gets a list of custom frame rates that a video processor supports. + Microsoft Docs: + The zero-based index of the frame-rate capability group. To get the maxmum index, call ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps and check the RateConversionCapsCount member of the D3D11_VIDEO_PROCESSOR_CAPS structure. + The zero-based index of the custom rate to retrieve. To get the maximum index, call ID3D11VideoProcessorEnumerator::GetVideoProcessorRateConversionCaps and check the CustomRateCount member of the D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS structure. + +This index value is always relative to the capability group specified in the TypeIndex parameter. + A pointer to a D3D11_VIDEO_PROCESSOR_CUSTOM_RATE structure that receives the custom rate. + + + + + The blend-state interface holds a description for blending state that you can bind to the output-merger stage. + Microsoft Docs: + + + + + Describes a video processor input view. + Microsoft Docs: + + + + The surface format. If zero, the driver uses the DXGI format that was used to create the resource. If you are using feature level 9, the value must be zero. + + + The resource type of the view, specified as a member of the D3D11_VPIV_DIMENSION enumeration. + + + A D3D11_TEX2D_VPIV structure that identifies the texture resource. + + + + Bind an array of vertex buffers to the input-assembler stage. + Microsoft Docs: + The first input slot for binding. The first vertex buffer is explicitly bound to the start slot; this causes each additional vertex buffer in the array to be implicitly bound to each subsequent input slot. The maximum of 16 or 32 input slots (ranges from 0 to D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1) are available; the maximum number of input slots depends on the feature level. + The number of vertex buffers in the array. The number of buffers (plus the starting slot) can't exceed the total number of IA-stage input slots (ranges from 0 to D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + A pointer to an array of vertex buffers (see ID3D11Buffer). The vertex buffers must have been created with the D3D11_BIND_VERTEX_BUFFER flag. + Pointer to an array of stride values; one stride value for each buffer in the vertex-buffer array. Each stride is the size (in bytes) of the elements that are to be used from that vertex buffer. + Pointer to an array of offset values; one offset value for each buffer in the vertex-buffer array. Each offset is the number of bytes between the first element of a vertex buffer and the first element that will be used. + + + + + Submits one or more buffers for decoding. + Microsoft Docs: + A pointer to the ID3D11VideoDecoder interface. To get this pointer, call the ID3D11VideoDevice::CreateVideoDecoder method. + The number of buffers submitted for decoding. + A pointer to an array of D3D11_VIDEO_DECODER_BUFFER_DESC1 structures. The NumBuffers parameter specifies the number of elements in the array. Each element in the array describes a compressed buffer for decoding. + + + + + Describes a query. + Microsoft Docs: + + + + A D3D11_QUERY-typed value that specifies the type of query. + + + A combination of D3D11_QUERY_MISC_FLAG-typed values that are combined by using a bitwise OR operation. The resulting value specifies query behavior. + + + A D3D11_CONTEXT_TYPE-typed value that specifies the context for the query. + + + + An ID3D11ShaderTraceFactory interface implements a method for generating shader trace information objects. + Microsoft Docs: + + + + + Get a constant-buffer description. + Microsoft Docs: + A pointer to a D3D11_SHADER_BUFFER_DESC, which represents a shader-buffer description. + + + + + Bind an array of shader resources to the geometry shader stage. + Microsoft Docs: + Index into the device's zero-based array to begin setting shader resources to (ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1). + Number of shader resources to set. Up to a maximum of 128 slots are available for shader resources(ranges from 0 to D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot). + Array of shader resource view interfaces to set to the device. + + + + + Describes rasterizer state. + Microsoft Docs: + + + + A D3D11_FILL_MODE-typed value that determines the fill mode to use when rendering. + + + A D3D11_CULL_MODE-typed value that indicates that triangles facing the specified direction are not drawn. + + + Specifies whether a triangle is front- or back-facing. If TRUE, a triangle will be considered front-facing if its vertices are counter-clockwise on the render target and considered back-facing if they are clockwise. If FALSE, the opposite is true. + + + Depth value added to a given pixel. For info about depth bias, see Depth Bias. + + + Maximum depth bias of a pixel. For info about depth bias, see Depth Bias. + + + Scalar on a given pixel's slope. For info about depth bias, see Depth Bias. + + + Specifies whether to enable clipping based on distance. + +The hardware always performs x and y clipping of rasterized coordinates. When DepthClipEnable is set to the default–TRUE, the hardware also clips the z value (that is, the hardware performs the last step of the following algorithm). + +

+0 < w
+-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
+-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
+0 <= z <= w
+
+When you set DepthClipEnable to FALSE, the hardware skips the z clipping (that is, the last step in the preceding algorithm). However, the hardware still performs the "0 < w" clipping. When z clipping is disabled, improper depth ordering at the pixel level might result. However, when z clipping is disabled, stencil shadow implementations are simplified. In other words, you can avoid complex special-case handling for geometry that goes beyond the back clipping plane.
+
+ + Specifies whether to enable scissor-rectangle culling. All pixels outside an active scissor rectangle are culled. + + + Specifies whether to use the quadrilateral or alpha line anti-aliasing algorithm on multisample antialiasing (MSAA) render targets. Set to TRUE to use the quadrilateral line anti-aliasing algorithm and to FALSE to use the alpha line anti-aliasing algorithm. For more info about this member, see Remarks. + + + Specifies whether to enable line antialiasing; only applies if doing line drawing and MultisampleEnable is FALSE. For more info about this member, see Remarks. + + + The sample count that is forced while UAV rendering or rasterizing. Valid values are 0, 1, 2, 4, 8, and optionally 16. 0 indicates that the sample count is not forced. + +
Note  If you want to render with ForcedSampleCount set to 1 or greater, you must follow these guidelines: + +
    +
  • Don't bind depth-stencil views.
  • +
  • Disable depth testing.
  • +
  • Ensure the shader doesn't output depth.
  • +
  • If you have any render-target views bound (D3D11_BIND_RENDER_TARGET) and ForcedSampleCount is greater than 1, ensure that every render target has only a single sample.
  • +
  • Don't operate the shader at sample frequency. Therefore, ID3D11ShaderReflection::IsSampleFrequencyShader returns FALSE.
  • +
Otherwise, rendering behavior is undefined. For info about how to configure depth-stencil, see Configuring Depth-Stencil Functionality.
+
 
+
+ + A D3D11_CONSERVATIVE_RASTERIZATION_MODE-typed value that identifies whether conservative rasterization is on or off. + + + + Get a message category to break on when a message with that category passes through the storage filter. + Microsoft Docs: + Message category to break on (see D3D11_MESSAGE_CATEGORY). + + + + + Identifies the type of geometry shader input primitive. + Microsoft Docs: + + + + Identifies the geometry shader input primitive as undefined. + + + Identifies the geometry shader input primitive as a point. + + + Identifies the geometry shader input primitive as a line. + + + Identifies the geometry shader input primitive as a triangle. + + + Identifies the geometry shader input primitive as an adjacent line. + + + Identifies the geometry shader input primitive as an adjacent triangle. + + + + The device context interface represents a device context; it is used to render commands. ID3D11DeviceContext3 adds new methods to those in ID3D11DeviceContext2. + Microsoft Docs: + + + + + Set a message severity level to break on when a message with that severity level passes through the storage filter. + Microsoft Docs: + A D3D11_MESSAGE_SEVERITY, which represents a message severity level to break on. + Turns this breaking condition on or off (true for on, false for off). + + + + + Rebinds an unordered access view (UAV) by name to destination slots. + Microsoft Docs: + The name of the UAV for rebinding. + The first destination slot number for rebinding. + The number of slots for rebinding. + + + + + Describes rasterizer state. + Microsoft Docs: + + + + Determines the fill mode to use when rendering. + + + Indicates that triangles facing the specified direction are not drawn. + + + Specifies whether a triangle is front- or back-facing. If TRUE, a triangle will be considered front-facing if its vertices are counter-clockwise on the render target and considered back-facing if they are clockwise. If FALSE, the opposite is true. + + + Depth value added to a given pixel. For info about depth bias, see Depth Bias. + + + Maximum depth bias of a pixel. For info about depth bias, see Depth Bias. + + + Scalar on a given pixel's slope. For info about depth bias, see Depth Bias. + + + Specifies whether to enable clipping based on distance. + +The hardware always performs x and y clipping of rasterized coordinates. When DepthClipEnable is set to the default–TRUE, the hardware also clips the z value (that is, the hardware performs the last step of the following algorithm). + + +

+0 < w
+-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
+-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
+0 <= z <= w
+
+When you set DepthClipEnable to FALSE, the hardware skips the z clipping (that is, the last step in the preceding algorithm). However, the hardware still performs the "0 < w" clipping. When z clipping is disabled, improper depth ordering at the pixel level might result. However, when z clipping is disabled, stencil shadow implementations are simplified. In other words, you can avoid complex special-case handling for geometry that goes beyond the back clipping plane.
+
+ + Specifies whether to enable scissor-rectangle culling. All pixels outside an active scissor rectangle are culled. + + + Specifies whether to use the quadrilateral or alpha line anti-aliasing algorithm on multisample antialiasing (MSAA) render targets. Set to TRUE to use the quadrilateral line anti-aliasing algorithm and to FALSE to use the alpha line anti-aliasing algorithm. For more info about this member, see Remarks. + + + Specifies whether to enable line antialiasing; only applies if doing line drawing and MultisampleEnable is FALSE. For more info about this member, see Remarks. + + + The sample count that is forced while UAV rendering or rasterizing. Valid values are 0, 1, 2, 4, 8, and optionally 16. 0 indicates that the sample count is not forced. + +
Note  If you want to render with ForcedSampleCount set to 1 or greater, you must follow these guidelines: + +
    +
  • Don't bind depth-stencil views.
  • +
  • Disable depth testing.
  • +
  • Ensure the shader doesn't output depth.
  • +
  • If you have any render-target views bound (D3D11_BIND_RENDER_TARGET) and ForcedSampleCount is greater than 1, ensure that every render target has only a single sample.
  • +
  • Don't operate the shader at sample frequency. Therefore, ID3D11ShaderReflection::IsSampleFrequencyShader returns FALSE.
  • +
Otherwise, rendering behavior is undefined. For info about how to configure depth-stencil, see Configuring Depth-Stencil Functionality.
+
 
+
+ + + Add a user-defined message to the message queue and send that message to debug output. + Microsoft Docs: + Severity of a message (see D3D11_MESSAGE_SEVERITY). + Message string. + + +
\ No newline at end of file diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.cs b/src/Vortice.Win32/Generated/Graphics/Direct3D.cs new file mode 100644 index 0000000..d80833e --- /dev/null +++ b/src/Vortice.Win32/Generated/Graphics/Direct3D.cs @@ -0,0 +1,2121 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ + +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Diagnostics.CodeAnalysis; + +#if !NET6_0_OR_GREATER +using MemoryMarshal = Win32.MemoryMarshal; +#endif + +namespace Win32.Graphics.Direct3D; + +public static partial class Apis +{ + public const uint D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION = 2048; + public const uint D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION = 4096; + public const uint D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION = 2048; + public const uint D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION = 4096; + public const uint D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION = 512; + public const uint D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION = 4096; + public const uint D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 256; + public const uint D3D_FL9_1_DEFAULT_MAX_ANISOTROPY = 2; + public const uint D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT = 65535; + public const uint D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT = 1048575; + public const uint D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT = 1; + public const uint D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT = 4; + public const uint D3D_FL9_1_MAX_TEXTURE_REPEAT = 128; + public const uint D3D_FL9_2_MAX_TEXTURE_REPEAT = 2048; + public const uint D3D_FL9_3_MAX_TEXTURE_REPEAT = 8192; + public const uint D3D_SHADER_FEATURE_DOUBLES = 1; + public const uint D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X = 2; + public const uint D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE = 4; + public const uint D3D_SHADER_FEATURE_64_UAVS = 8; + public const uint D3D_SHADER_FEATURE_MINIMUM_PRECISION = 16; + public const uint D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS = 32; + public const uint D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS = 64; + public const uint D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING = 128; + public const uint D3D_SHADER_FEATURE_TILED_RESOURCES = 256; + public const uint D3D_SHADER_FEATURE_STENCIL_REF = 512; + public const uint D3D_SHADER_FEATURE_INNER_COVERAGE = 1024; + public const uint D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS = 2048; + public const uint D3D_SHADER_FEATURE_ROVS = 4096; + public const uint D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER = 8192; + public const uint D3D_SHADER_FEATURE_WAVE_OPS = 16384; + public const uint D3D_SHADER_FEATURE_INT64_OPS = 32768; + public const uint D3D_SHADER_FEATURE_VIEW_ID = 65536; + public const uint D3D_SHADER_FEATURE_BARYCENTRICS = 131072; + public const uint D3D_SHADER_FEATURE_NATIVE_16BIT_OPS = 262144; + public const uint D3D_SHADER_FEATURE_SHADING_RATE = 524288; + public const uint D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 = 1048576; + public const uint D3D_SHADER_FEATURE_SAMPLER_FEEDBACK = 2097152; + public const uint D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE = 4194304; + public const uint D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED = 8388608; + public const uint D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS = 16777216; + public const uint D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING = 33554432; + public const uint D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING = 67108864; + public const uint D3D_SHADER_FEATURE_WAVE_MMA = 134217728; + public const uint D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE = 268435456; + public static readonly Guid WKPDID_D3DDebugObjectName = new Guid(0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00); + public static readonly Guid WKPDID_D3DDebugObjectNameW = new Guid(0x4cca5fd8, 0x921f, 0x42c8, 0x85, 0x66, 0x70, 0xca, 0xf2, 0xa9, 0xb7, 0x41); + public static readonly Guid WKPDID_CommentStringW = new Guid(0xd0149dc0, 0x90e8, 0x4ec8, 0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2); + public static readonly Guid WKPDID_D3D12UniqueObjectId = new Guid(0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1); + public const uint D3D_COMPONENT_MASK_X = 1; + public const uint D3D_COMPONENT_MASK_Y = 2; + public const uint D3D_COMPONENT_MASK_Z = 4; + public const uint D3D_COMPONENT_MASK_W = 8; + public static readonly Guid D3D_TEXTURE_LAYOUT_ROW_MAJOR = new Guid(0xb5dc234f, 0x72bb, 0x4bec, 0x97, 0x05, 0x8c, 0xf2, 0x58, 0xdf, 0x6b, 0x6c); + public static readonly Guid D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = new Guid(0x4c0f29e3, 0x3f5f, 0x4d35, 0x84, 0xc9, 0xbc, 0x09, 0x83, 0xb6, 0x2c, 0x28); +} + +#region Enums +/// +/// D3D_DRIVER_TYPE +public enum DriverType : int +{ + /// + /// D3D_DRIVER_TYPE_UNKNOWN + Unknown = 0, + /// + /// D3D_DRIVER_TYPE_HARDWARE + Hardware = 1, + /// + /// D3D_DRIVER_TYPE_REFERENCE + Reference = 2, + /// + /// D3D_DRIVER_TYPE_NULL + Null = 3, + /// + /// D3D_DRIVER_TYPE_SOFTWARE + Software = 4, + /// + /// D3D_DRIVER_TYPE_WARP + Warp = 5, +} + +/// +/// D3D_FEATURE_LEVEL +public enum FeatureLevel : int +{ + /// + /// D3D_FEATURE_LEVEL_1_0_CORE + _10Core = 4096, + /// + /// D3D_FEATURE_LEVEL_9_1 + _91 = 37120, + /// + /// D3D_FEATURE_LEVEL_9_2 + _92 = 37376, + /// + /// D3D_FEATURE_LEVEL_9_3 + _93 = 37632, + /// + /// D3D_FEATURE_LEVEL_10_0 + _100 = 40960, + /// + /// D3D_FEATURE_LEVEL_10_1 + _101 = 41216, + /// + /// D3D_FEATURE_LEVEL_11_0 + _110 = 45056, + /// + /// D3D_FEATURE_LEVEL_11_1 + _111 = 45312, + /// + /// D3D_FEATURE_LEVEL_12_0 + _120 = 49152, + /// + /// D3D_FEATURE_LEVEL_12_1 + _121 = 49408, + /// + /// D3D_FEATURE_LEVEL_12_2 + _122 = 49664, +} + +/// +/// D3D_PRIMITIVE_TOPOLOGY +public enum PrimitiveTopology : int +{ + /// + /// D3D_PRIMITIVE_TOPOLOGY_UNDEFINED + Undefined = 0, + /// + /// D3D_PRIMITIVE_TOPOLOGY_POINTLIST + Pointlist = 1, + /// + /// D3D_PRIMITIVE_TOPOLOGY_LINELIST + Linelist = 2, + /// + /// D3D_PRIMITIVE_TOPOLOGY_LINESTRIP + Linestrip = 3, + /// + /// D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST + Trianglelist = 4, + /// + /// D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + Trianglestrip = 5, + /// + /// D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + LinelistAdj = 10, + /// + /// D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + LinestripAdj = 11, + /// + /// D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + TrianglelistAdj = 12, + /// + /// D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + TrianglestripAdj = 13, + /// + /// D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + _1ControlPointPatchlist = 33, + /// + /// D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + _2ControlPointPatchlist = 34, + /// + /// D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + _3ControlPointPatchlist = 35, + /// + /// D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + _4ControlPointPatchlist = 36, + /// + /// D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + _5ControlPointPatchlist = 37, + /// + /// D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + _6ControlPointPatchlist = 38, + /// + /// D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + _7ControlPointPatchlist = 39, + /// + /// D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + _8ControlPointPatchlist = 40, + /// + /// D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + _9ControlPointPatchlist = 41, + /// + /// D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + _10ControlPointPatchlist = 42, + /// + /// D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + _11ControlPointPatchlist = 43, + /// + /// D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + _12ControlPointPatchlist = 44, + /// + /// D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + _13ControlPointPatchlist = 45, + /// + /// D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + _14ControlPointPatchlist = 46, + /// + /// D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + _15ControlPointPatchlist = 47, + /// + /// D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + _16ControlPointPatchlist = 48, + /// + /// D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + _17ControlPointPatchlist = 49, + /// + /// D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + _18ControlPointPatchlist = 50, + /// + /// D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + _19ControlPointPatchlist = 51, + /// + /// D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + _20ControlPointPatchlist = 52, + /// + /// D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + _21ControlPointPatchlist = 53, + /// + /// D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + _22ControlPointPatchlist = 54, + /// + /// D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + _23ControlPointPatchlist = 55, + /// + /// D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + _24ControlPointPatchlist = 56, + /// + /// D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + _25ControlPointPatchlist = 57, + /// + /// D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + _26ControlPointPatchlist = 58, + /// + /// D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + _27ControlPointPatchlist = 59, + /// + /// D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + _28ControlPointPatchlist = 60, + /// + /// D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + _29ControlPointPatchlist = 61, + /// + /// D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + _30ControlPointPatchlist = 62, + /// + /// D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + _31ControlPointPatchlist = 63, + /// + /// D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + _32ControlPointPatchlist = 64, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED + D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_POINTLIST + D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_LINELIST + D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP + D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, + /// + /// D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED + D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_POINTLIST + D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = 1, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_LINELIST + D3D11_PRIMITIVE_TOPOLOGY_LINELIST = 2, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP + D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ + D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ + D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ + D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, + /// + /// D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST + D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, +} + +/// +/// D3D_PRIMITIVE +public enum Primitive : int +{ + /// + /// D3D_PRIMITIVE_UNDEFINED + Undefined = 0, + /// + /// D3D_PRIMITIVE_POINT + Point = 1, + /// + /// D3D_PRIMITIVE_LINE + Line = 2, + /// + /// D3D_PRIMITIVE_TRIANGLE + Triangle = 3, + /// + /// D3D_PRIMITIVE_LINE_ADJ + LineAdj = 6, + /// + /// D3D_PRIMITIVE_TRIANGLE_ADJ + TriangleAdj = 7, + /// + /// D3D_PRIMITIVE_1_CONTROL_POINT_PATCH + _1ControlPointPatch = 8, + /// + /// D3D_PRIMITIVE_2_CONTROL_POINT_PATCH + _2ControlPointPatch = 9, + /// + /// D3D_PRIMITIVE_3_CONTROL_POINT_PATCH + _3ControlPointPatch = 10, + /// + /// D3D_PRIMITIVE_4_CONTROL_POINT_PATCH + _4ControlPointPatch = 11, + /// + /// D3D_PRIMITIVE_5_CONTROL_POINT_PATCH + _5ControlPointPatch = 12, + /// + /// D3D_PRIMITIVE_6_CONTROL_POINT_PATCH + _6ControlPointPatch = 13, + /// + /// D3D_PRIMITIVE_7_CONTROL_POINT_PATCH + _7ControlPointPatch = 14, + /// + /// D3D_PRIMITIVE_8_CONTROL_POINT_PATCH + _8ControlPointPatch = 15, + /// + /// D3D_PRIMITIVE_9_CONTROL_POINT_PATCH + _9ControlPointPatch = 16, + /// + /// D3D_PRIMITIVE_10_CONTROL_POINT_PATCH + _10ControlPointPatch = 17, + /// + /// D3D_PRIMITIVE_11_CONTROL_POINT_PATCH + _11ControlPointPatch = 18, + /// + /// D3D_PRIMITIVE_12_CONTROL_POINT_PATCH + _12ControlPointPatch = 19, + /// + /// D3D_PRIMITIVE_13_CONTROL_POINT_PATCH + _13ControlPointPatch = 20, + /// + /// D3D_PRIMITIVE_14_CONTROL_POINT_PATCH + _14ControlPointPatch = 21, + /// + /// D3D_PRIMITIVE_15_CONTROL_POINT_PATCH + _15ControlPointPatch = 22, + /// + /// D3D_PRIMITIVE_16_CONTROL_POINT_PATCH + _16ControlPointPatch = 23, + /// + /// D3D_PRIMITIVE_17_CONTROL_POINT_PATCH + _17ControlPointPatch = 24, + /// + /// D3D_PRIMITIVE_18_CONTROL_POINT_PATCH + _18ControlPointPatch = 25, + /// + /// D3D_PRIMITIVE_19_CONTROL_POINT_PATCH + _19ControlPointPatch = 26, + /// + /// D3D_PRIMITIVE_20_CONTROL_POINT_PATCH + _20ControlPointPatch = 27, + /// + /// D3D_PRIMITIVE_21_CONTROL_POINT_PATCH + _21ControlPointPatch = 28, + /// + /// D3D_PRIMITIVE_22_CONTROL_POINT_PATCH + _22ControlPointPatch = 29, + /// + /// D3D_PRIMITIVE_23_CONTROL_POINT_PATCH + _23ControlPointPatch = 30, + /// + /// D3D_PRIMITIVE_24_CONTROL_POINT_PATCH + _24ControlPointPatch = 31, + /// + /// D3D_PRIMITIVE_25_CONTROL_POINT_PATCH + _25ControlPointPatch = 32, + /// + /// D3D_PRIMITIVE_26_CONTROL_POINT_PATCH + _26ControlPointPatch = 33, + /// + /// D3D_PRIMITIVE_27_CONTROL_POINT_PATCH + _27ControlPointPatch = 34, + /// + /// D3D_PRIMITIVE_28_CONTROL_POINT_PATCH + _28ControlPointPatch = 35, + /// + /// D3D_PRIMITIVE_29_CONTROL_POINT_PATCH + _29ControlPointPatch = 36, + /// + /// D3D_PRIMITIVE_30_CONTROL_POINT_PATCH + _30ControlPointPatch = 37, + /// + /// D3D_PRIMITIVE_31_CONTROL_POINT_PATCH + _31ControlPointPatch = 38, + /// + /// D3D_PRIMITIVE_32_CONTROL_POINT_PATCH + _32ControlPointPatch = 39, + /// + /// D3D10_PRIMITIVE_UNDEFINED + D3D10_PRIMITIVE_UNDEFINED = 0, + /// + /// D3D10_PRIMITIVE_POINT + D3D10_PRIMITIVE_POINT = 1, + /// + /// D3D10_PRIMITIVE_LINE + D3D10_PRIMITIVE_LINE = 2, + /// + /// D3D10_PRIMITIVE_TRIANGLE + D3D10_PRIMITIVE_TRIANGLE = 3, + /// + /// D3D10_PRIMITIVE_LINE_ADJ + D3D10_PRIMITIVE_LINE_ADJ = 6, + /// + /// D3D10_PRIMITIVE_TRIANGLE_ADJ + D3D10_PRIMITIVE_TRIANGLE_ADJ = 7, + /// + /// D3D11_PRIMITIVE_UNDEFINED + D3D11_PRIMITIVE_UNDEFINED = 0, + /// + /// D3D11_PRIMITIVE_POINT + D3D11_PRIMITIVE_POINT = 1, + /// + /// D3D11_PRIMITIVE_LINE + D3D11_PRIMITIVE_LINE = 2, + /// + /// D3D11_PRIMITIVE_TRIANGLE + D3D11_PRIMITIVE_TRIANGLE = 3, + /// + /// D3D11_PRIMITIVE_LINE_ADJ + D3D11_PRIMITIVE_LINE_ADJ = 6, + /// + /// D3D11_PRIMITIVE_TRIANGLE_ADJ + D3D11_PRIMITIVE_TRIANGLE_ADJ = 7, + /// + /// D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, + /// + /// D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, + /// + /// D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, + /// + /// D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, + /// + /// D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, + /// + /// D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, + /// + /// D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, + /// + /// D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, + /// + /// D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, + /// + /// D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, + /// + /// D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, + /// + /// D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, + /// + /// D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, + /// + /// D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, + /// + /// D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, + /// + /// D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, + /// + /// D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, + /// + /// D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, + /// + /// D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, + /// + /// D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, + /// + /// D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, + /// + /// D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, + /// + /// D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, + /// + /// D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, + /// + /// D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, + /// + /// D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, + /// + /// D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, + /// + /// D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, + /// + /// D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, + /// + /// D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, + /// + /// D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, + /// + /// D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH + D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, +} + +/// +/// D3D_SRV_DIMENSION +public enum SrvDimension : int +{ + /// + /// D3D_SRV_DIMENSION_UNKNOWN + Unknown = 0, + /// + /// D3D_SRV_DIMENSION_BUFFER + Buffer = 1, + /// + /// D3D_SRV_DIMENSION_TEXTURE1D + Texture1d = 2, + /// + /// D3D_SRV_DIMENSION_TEXTURE1DARRAY + Texture1darray = 3, + /// + /// D3D_SRV_DIMENSION_TEXTURE2D + Texture2d = 4, + /// + /// D3D_SRV_DIMENSION_TEXTURE2DARRAY + Texture2darray = 5, + /// + /// D3D_SRV_DIMENSION_TEXTURE2DMS + Texture2dms = 6, + /// + /// D3D_SRV_DIMENSION_TEXTURE2DMSARRAY + Texture2dmsarray = 7, + /// + /// D3D_SRV_DIMENSION_TEXTURE3D + Texture3d = 8, + /// + /// D3D_SRV_DIMENSION_TEXTURECUBE + Texturecube = 9, + /// + /// D3D_SRV_DIMENSION_TEXTURECUBEARRAY + Texturecubearray = 10, + /// + /// D3D_SRV_DIMENSION_BUFFEREX + Bufferex = 11, + /// + /// D3D10_SRV_DIMENSION_UNKNOWN + D3D10_SRV_DIMENSION_UNKNOWN = 0, + /// + /// D3D10_SRV_DIMENSION_BUFFER + D3D10_SRV_DIMENSION_BUFFER = 1, + /// + /// D3D10_SRV_DIMENSION_TEXTURE1D + D3D10_SRV_DIMENSION_TEXTURE1D = 2, + /// + /// D3D10_SRV_DIMENSION_TEXTURE1DARRAY + D3D10_SRV_DIMENSION_TEXTURE1DARRAY = 3, + /// + /// D3D10_SRV_DIMENSION_TEXTURE2D + D3D10_SRV_DIMENSION_TEXTURE2D = 4, + /// + /// D3D10_SRV_DIMENSION_TEXTURE2DARRAY + D3D10_SRV_DIMENSION_TEXTURE2DARRAY = 5, + /// + /// D3D10_SRV_DIMENSION_TEXTURE2DMS + D3D10_SRV_DIMENSION_TEXTURE2DMS = 6, + /// + /// D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY + D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, + /// + /// D3D10_SRV_DIMENSION_TEXTURE3D + D3D10_SRV_DIMENSION_TEXTURE3D = 8, + /// + /// D3D10_SRV_DIMENSION_TEXTURECUBE + D3D10_SRV_DIMENSION_TEXTURECUBE = 9, + /// + /// D3D10_1_SRV_DIMENSION_UNKNOWN + D3D10_1_SRV_DIMENSION_UNKNOWN = 0, + /// + /// D3D10_1_SRV_DIMENSION_BUFFER + D3D10_1_SRV_DIMENSION_BUFFER = 1, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURE1D + D3D10_1_SRV_DIMENSION_TEXTURE1D = 2, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY + D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = 3, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURE2D + D3D10_1_SRV_DIMENSION_TEXTURE2D = 4, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY + D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = 5, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURE2DMS + D3D10_1_SRV_DIMENSION_TEXTURE2DMS = 6, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY + D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURE3D + D3D10_1_SRV_DIMENSION_TEXTURE3D = 8, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURECUBE + D3D10_1_SRV_DIMENSION_TEXTURECUBE = 9, + /// + /// D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY + D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = 10, + /// + /// D3D11_SRV_DIMENSION_UNKNOWN + D3D11_SRV_DIMENSION_UNKNOWN = 0, + /// + /// D3D11_SRV_DIMENSION_BUFFER + D3D11_SRV_DIMENSION_BUFFER = 1, + /// + /// D3D11_SRV_DIMENSION_TEXTURE1D + D3D11_SRV_DIMENSION_TEXTURE1D = 2, + /// + /// D3D11_SRV_DIMENSION_TEXTURE1DARRAY + D3D11_SRV_DIMENSION_TEXTURE1DARRAY = 3, + /// + /// D3D11_SRV_DIMENSION_TEXTURE2D + D3D11_SRV_DIMENSION_TEXTURE2D = 4, + /// + /// D3D11_SRV_DIMENSION_TEXTURE2DARRAY + D3D11_SRV_DIMENSION_TEXTURE2DARRAY = 5, + /// + /// D3D11_SRV_DIMENSION_TEXTURE2DMS + D3D11_SRV_DIMENSION_TEXTURE2DMS = 6, + /// + /// D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY + D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, + /// + /// D3D11_SRV_DIMENSION_TEXTURE3D + D3D11_SRV_DIMENSION_TEXTURE3D = 8, + /// + /// D3D11_SRV_DIMENSION_TEXTURECUBE + D3D11_SRV_DIMENSION_TEXTURECUBE = 9, + /// + /// D3D11_SRV_DIMENSION_TEXTURECUBEARRAY + D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = 10, + /// + /// D3D11_SRV_DIMENSION_BUFFEREX + D3D11_SRV_DIMENSION_BUFFEREX = 11, +} + +/// +/// D3D_INCLUDE_TYPE +public enum IncludeType : int +{ + /// + /// D3D_INCLUDE_LOCAL + D3D_INCLUDE_LOCAL = 0, + /// + /// D3D_INCLUDE_SYSTEM + D3D_INCLUDE_SYSTEM = 1, + /// + /// D3D10_INCLUDE_LOCAL + D3D10_INCLUDE_LOCAL = 0, + /// + /// D3D10_INCLUDE_SYSTEM + D3D10_INCLUDE_SYSTEM = 1, +} + +/// +/// D3D_SHADER_VARIABLE_CLASS +public enum ShaderVariableClass : int +{ + /// + /// D3D_SVC_SCALAR + D3D_SVC_SCALAR = 0, + /// + /// D3D_SVC_VECTOR + D3D_SVC_VECTOR = 1, + /// + /// D3D_SVC_MATRIX_ROWS + D3D_SVC_MATRIX_ROWS = 2, + /// + /// D3D_SVC_MATRIX_COLUMNS + D3D_SVC_MATRIX_COLUMNS = 3, + /// + /// D3D_SVC_OBJECT + D3D_SVC_OBJECT = 4, + /// + /// D3D_SVC_STRUCT + D3D_SVC_STRUCT = 5, + /// + /// D3D_SVC_INTERFACE_CLASS + D3D_SVC_INTERFACE_CLASS = 6, + /// + /// D3D_SVC_INTERFACE_POINTER + D3D_SVC_INTERFACE_POINTER = 7, + /// + /// D3D10_SVC_SCALAR + D3D10_SVC_SCALAR = 0, + /// + /// D3D10_SVC_VECTOR + D3D10_SVC_VECTOR = 1, + /// + /// D3D10_SVC_MATRIX_ROWS + D3D10_SVC_MATRIX_ROWS = 2, + /// + /// D3D10_SVC_MATRIX_COLUMNS + D3D10_SVC_MATRIX_COLUMNS = 3, + /// + /// D3D10_SVC_OBJECT + D3D10_SVC_OBJECT = 4, + /// + /// D3D10_SVC_STRUCT + D3D10_SVC_STRUCT = 5, + /// + /// D3D11_SVC_INTERFACE_CLASS + D3D11_SVC_INTERFACE_CLASS = 6, + /// + /// D3D11_SVC_INTERFACE_POINTER + D3D11_SVC_INTERFACE_POINTER = 7, +} + +/// +/// D3D_SHADER_VARIABLE_FLAGS +public enum ShaderVariableFlags : int +{ + /// + /// D3D_SVF_USERPACKED + D3D_SVF_USERPACKED = 1, + /// + /// D3D_SVF_USED + D3D_SVF_USED = 2, + /// + /// D3D_SVF_INTERFACE_POINTER + D3D_SVF_INTERFACE_POINTER = 4, + /// + /// D3D_SVF_INTERFACE_PARAMETER + D3D_SVF_INTERFACE_PARAMETER = 8, + /// + /// D3D10_SVF_USERPACKED + D3D10_SVF_USERPACKED = 1, + /// + /// D3D10_SVF_USED + D3D10_SVF_USED = 2, + /// + /// D3D11_SVF_INTERFACE_POINTER + D3D11_SVF_INTERFACE_POINTER = 4, + /// + /// D3D11_SVF_INTERFACE_PARAMETER + D3D11_SVF_INTERFACE_PARAMETER = 8, +} + +/// +/// D3D_SHADER_VARIABLE_TYPE +public enum ShaderVariableType : int +{ + /// + /// D3D_SVT_VOID + D3D_SVT_VOID = 0, + /// + /// D3D_SVT_BOOL + D3D_SVT_BOOL = 1, + /// + /// D3D_SVT_INT + D3D_SVT_INT = 2, + /// + /// D3D_SVT_FLOAT + D3D_SVT_FLOAT = 3, + /// + /// D3D_SVT_STRING + D3D_SVT_STRING = 4, + /// + /// D3D_SVT_TEXTURE + D3D_SVT_TEXTURE = 5, + /// + /// D3D_SVT_TEXTURE1D + D3D_SVT_TEXTURE1D = 6, + /// + /// D3D_SVT_TEXTURE2D + D3D_SVT_TEXTURE2D = 7, + /// + /// D3D_SVT_TEXTURE3D + D3D_SVT_TEXTURE3D = 8, + /// + /// D3D_SVT_TEXTURECUBE + D3D_SVT_TEXTURECUBE = 9, + /// + /// D3D_SVT_SAMPLER + D3D_SVT_SAMPLER = 10, + /// + /// D3D_SVT_SAMPLER1D + D3D_SVT_SAMPLER1D = 11, + /// + /// D3D_SVT_SAMPLER2D + D3D_SVT_SAMPLER2D = 12, + /// + /// D3D_SVT_SAMPLER3D + D3D_SVT_SAMPLER3D = 13, + /// + /// D3D_SVT_SAMPLERCUBE + D3D_SVT_SAMPLERCUBE = 14, + /// + /// D3D_SVT_PIXELSHADER + D3D_SVT_PIXELSHADER = 15, + /// + /// D3D_SVT_VERTEXSHADER + D3D_SVT_VERTEXSHADER = 16, + /// + /// D3D_SVT_PIXELFRAGMENT + D3D_SVT_PIXELFRAGMENT = 17, + /// + /// D3D_SVT_VERTEXFRAGMENT + D3D_SVT_VERTEXFRAGMENT = 18, + /// + /// D3D_SVT_UINT + D3D_SVT_UINT = 19, + /// + /// D3D_SVT_UINT8 + D3D_SVT_UINT8 = 20, + /// + /// D3D_SVT_GEOMETRYSHADER + D3D_SVT_GEOMETRYSHADER = 21, + /// + /// D3D_SVT_RASTERIZER + D3D_SVT_RASTERIZER = 22, + /// + /// D3D_SVT_DEPTHSTENCIL + D3D_SVT_DEPTHSTENCIL = 23, + /// + /// D3D_SVT_BLEND + D3D_SVT_BLEND = 24, + /// + /// D3D_SVT_BUFFER + D3D_SVT_BUFFER = 25, + /// + /// D3D_SVT_CBUFFER + D3D_SVT_CBUFFER = 26, + /// + /// D3D_SVT_TBUFFER + D3D_SVT_TBUFFER = 27, + /// + /// D3D_SVT_TEXTURE1DARRAY + D3D_SVT_TEXTURE1DARRAY = 28, + /// + /// D3D_SVT_TEXTURE2DARRAY + D3D_SVT_TEXTURE2DARRAY = 29, + /// + /// D3D_SVT_RENDERTARGETVIEW + D3D_SVT_RENDERTARGETVIEW = 30, + /// + /// D3D_SVT_DEPTHSTENCILVIEW + D3D_SVT_DEPTHSTENCILVIEW = 31, + /// + /// D3D_SVT_TEXTURE2DMS + D3D_SVT_TEXTURE2DMS = 32, + /// + /// D3D_SVT_TEXTURE2DMSARRAY + D3D_SVT_TEXTURE2DMSARRAY = 33, + /// + /// D3D_SVT_TEXTURECUBEARRAY + D3D_SVT_TEXTURECUBEARRAY = 34, + /// + /// D3D_SVT_HULLSHADER + D3D_SVT_HULLSHADER = 35, + /// + /// D3D_SVT_DOMAINSHADER + D3D_SVT_DOMAINSHADER = 36, + /// + /// D3D_SVT_INTERFACE_POINTER + D3D_SVT_INTERFACE_POINTER = 37, + /// + /// D3D_SVT_COMPUTESHADER + D3D_SVT_COMPUTESHADER = 38, + /// + /// D3D_SVT_DOUBLE + D3D_SVT_DOUBLE = 39, + /// + /// D3D_SVT_RWTEXTURE1D + D3D_SVT_RWTEXTURE1D = 40, + /// + /// D3D_SVT_RWTEXTURE1DARRAY + D3D_SVT_RWTEXTURE1DARRAY = 41, + /// + /// D3D_SVT_RWTEXTURE2D + D3D_SVT_RWTEXTURE2D = 42, + /// + /// D3D_SVT_RWTEXTURE2DARRAY + D3D_SVT_RWTEXTURE2DARRAY = 43, + /// + /// D3D_SVT_RWTEXTURE3D + D3D_SVT_RWTEXTURE3D = 44, + /// + /// D3D_SVT_RWBUFFER + D3D_SVT_RWBUFFER = 45, + /// + /// D3D_SVT_BYTEADDRESS_BUFFER + D3D_SVT_BYTEADDRESS_BUFFER = 46, + /// + /// D3D_SVT_RWBYTEADDRESS_BUFFER + D3D_SVT_RWBYTEADDRESS_BUFFER = 47, + /// + /// D3D_SVT_STRUCTURED_BUFFER + D3D_SVT_STRUCTURED_BUFFER = 48, + /// + /// D3D_SVT_RWSTRUCTURED_BUFFER + D3D_SVT_RWSTRUCTURED_BUFFER = 49, + /// + /// D3D_SVT_APPEND_STRUCTURED_BUFFER + D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, + /// + /// D3D_SVT_CONSUME_STRUCTURED_BUFFER + D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, + /// + /// D3D_SVT_MIN8FLOAT + D3D_SVT_MIN8FLOAT = 52, + /// + /// D3D_SVT_MIN10FLOAT + D3D_SVT_MIN10FLOAT = 53, + /// + /// D3D_SVT_MIN16FLOAT + D3D_SVT_MIN16FLOAT = 54, + /// + /// D3D_SVT_MIN12INT + D3D_SVT_MIN12INT = 55, + /// + /// D3D_SVT_MIN16INT + D3D_SVT_MIN16INT = 56, + /// + /// D3D_SVT_MIN16UINT + D3D_SVT_MIN16UINT = 57, + /// + /// D3D_SVT_INT16 + D3D_SVT_INT16 = 58, + /// + /// D3D_SVT_UINT16 + D3D_SVT_UINT16 = 59, + /// + /// D3D_SVT_FLOAT16 + D3D_SVT_FLOAT16 = 60, + /// + /// D3D_SVT_INT64 + D3D_SVT_INT64 = 61, + /// + /// D3D_SVT_UINT64 + D3D_SVT_UINT64 = 62, + /// + /// D3D10_SVT_VOID + D3D10_SVT_VOID = 0, + /// + /// D3D10_SVT_BOOL + D3D10_SVT_BOOL = 1, + /// + /// D3D10_SVT_INT + D3D10_SVT_INT = 2, + /// + /// D3D10_SVT_FLOAT + D3D10_SVT_FLOAT = 3, + /// + /// D3D10_SVT_STRING + D3D10_SVT_STRING = 4, + /// + /// D3D10_SVT_TEXTURE + D3D10_SVT_TEXTURE = 5, + /// + /// D3D10_SVT_TEXTURE1D + D3D10_SVT_TEXTURE1D = 6, + /// + /// D3D10_SVT_TEXTURE2D + D3D10_SVT_TEXTURE2D = 7, + /// + /// D3D10_SVT_TEXTURE3D + D3D10_SVT_TEXTURE3D = 8, + /// + /// D3D10_SVT_TEXTURECUBE + D3D10_SVT_TEXTURECUBE = 9, + /// + /// D3D10_SVT_SAMPLER + D3D10_SVT_SAMPLER = 10, + /// + /// D3D10_SVT_SAMPLER1D + D3D10_SVT_SAMPLER1D = 11, + /// + /// D3D10_SVT_SAMPLER2D + D3D10_SVT_SAMPLER2D = 12, + /// + /// D3D10_SVT_SAMPLER3D + D3D10_SVT_SAMPLER3D = 13, + /// + /// D3D10_SVT_SAMPLERCUBE + D3D10_SVT_SAMPLERCUBE = 14, + /// + /// D3D10_SVT_PIXELSHADER + D3D10_SVT_PIXELSHADER = 15, + /// + /// D3D10_SVT_VERTEXSHADER + D3D10_SVT_VERTEXSHADER = 16, + /// + /// D3D10_SVT_PIXELFRAGMENT + D3D10_SVT_PIXELFRAGMENT = 17, + /// + /// D3D10_SVT_VERTEXFRAGMENT + D3D10_SVT_VERTEXFRAGMENT = 18, + /// + /// D3D10_SVT_UINT + D3D10_SVT_UINT = 19, + /// + /// D3D10_SVT_UINT8 + D3D10_SVT_UINT8 = 20, + /// + /// D3D10_SVT_GEOMETRYSHADER + D3D10_SVT_GEOMETRYSHADER = 21, + /// + /// D3D10_SVT_RASTERIZER + D3D10_SVT_RASTERIZER = 22, + /// + /// D3D10_SVT_DEPTHSTENCIL + D3D10_SVT_DEPTHSTENCIL = 23, + /// + /// D3D10_SVT_BLEND + D3D10_SVT_BLEND = 24, + /// + /// D3D10_SVT_BUFFER + D3D10_SVT_BUFFER = 25, + /// + /// D3D10_SVT_CBUFFER + D3D10_SVT_CBUFFER = 26, + /// + /// D3D10_SVT_TBUFFER + D3D10_SVT_TBUFFER = 27, + /// + /// D3D10_SVT_TEXTURE1DARRAY + D3D10_SVT_TEXTURE1DARRAY = 28, + /// + /// D3D10_SVT_TEXTURE2DARRAY + D3D10_SVT_TEXTURE2DARRAY = 29, + /// + /// D3D10_SVT_RENDERTARGETVIEW + D3D10_SVT_RENDERTARGETVIEW = 30, + /// + /// D3D10_SVT_DEPTHSTENCILVIEW + D3D10_SVT_DEPTHSTENCILVIEW = 31, + /// + /// D3D10_SVT_TEXTURE2DMS + D3D10_SVT_TEXTURE2DMS = 32, + /// + /// D3D10_SVT_TEXTURE2DMSARRAY + D3D10_SVT_TEXTURE2DMSARRAY = 33, + /// + /// D3D10_SVT_TEXTURECUBEARRAY + D3D10_SVT_TEXTURECUBEARRAY = 34, + /// + /// D3D11_SVT_HULLSHADER + D3D11_SVT_HULLSHADER = 35, + /// + /// D3D11_SVT_DOMAINSHADER + D3D11_SVT_DOMAINSHADER = 36, + /// + /// D3D11_SVT_INTERFACE_POINTER + D3D11_SVT_INTERFACE_POINTER = 37, + /// + /// D3D11_SVT_COMPUTESHADER + D3D11_SVT_COMPUTESHADER = 38, + /// + /// D3D11_SVT_DOUBLE + D3D11_SVT_DOUBLE = 39, + /// + /// D3D11_SVT_RWTEXTURE1D + D3D11_SVT_RWTEXTURE1D = 40, + /// + /// D3D11_SVT_RWTEXTURE1DARRAY + D3D11_SVT_RWTEXTURE1DARRAY = 41, + /// + /// D3D11_SVT_RWTEXTURE2D + D3D11_SVT_RWTEXTURE2D = 42, + /// + /// D3D11_SVT_RWTEXTURE2DARRAY + D3D11_SVT_RWTEXTURE2DARRAY = 43, + /// + /// D3D11_SVT_RWTEXTURE3D + D3D11_SVT_RWTEXTURE3D = 44, + /// + /// D3D11_SVT_RWBUFFER + D3D11_SVT_RWBUFFER = 45, + /// + /// D3D11_SVT_BYTEADDRESS_BUFFER + D3D11_SVT_BYTEADDRESS_BUFFER = 46, + /// + /// D3D11_SVT_RWBYTEADDRESS_BUFFER + D3D11_SVT_RWBYTEADDRESS_BUFFER = 47, + /// + /// D3D11_SVT_STRUCTURED_BUFFER + D3D11_SVT_STRUCTURED_BUFFER = 48, + /// + /// D3D11_SVT_RWSTRUCTURED_BUFFER + D3D11_SVT_RWSTRUCTURED_BUFFER = 49, + /// + /// D3D11_SVT_APPEND_STRUCTURED_BUFFER + D3D11_SVT_APPEND_STRUCTURED_BUFFER = 50, + /// + /// D3D11_SVT_CONSUME_STRUCTURED_BUFFER + D3D11_SVT_CONSUME_STRUCTURED_BUFFER = 51, +} + +/// +/// D3D_SHADER_INPUT_FLAGS +public enum ShaderInputFlags : int +{ + /// + /// D3D_SIF_USERPACKED + D3D_SIF_USERPACKED = 1, + /// + /// D3D_SIF_COMPARISON_SAMPLER + D3D_SIF_COMPARISON_SAMPLER = 2, + /// + /// D3D_SIF_TEXTURE_COMPONENT_0 + D3D_SIF_TEXTURE_COMPONENT_0 = 4, + /// + /// D3D_SIF_TEXTURE_COMPONENT_1 + D3D_SIF_TEXTURE_COMPONENT_1 = 8, + /// + /// D3D_SIF_TEXTURE_COMPONENTS + D3D_SIF_TEXTURE_COMPONENTS = 12, + /// + /// D3D_SIF_UNUSED + D3D_SIF_UNUSED = 16, + /// + /// D3D10_SIF_USERPACKED + D3D10_SIF_USERPACKED = 1, + /// + /// D3D10_SIF_COMPARISON_SAMPLER + D3D10_SIF_COMPARISON_SAMPLER = 2, + /// + /// D3D10_SIF_TEXTURE_COMPONENT_0 + D3D10_SIF_TEXTURE_COMPONENT_0 = 4, + /// + /// D3D10_SIF_TEXTURE_COMPONENT_1 + D3D10_SIF_TEXTURE_COMPONENT_1 = 8, + /// + /// D3D10_SIF_TEXTURE_COMPONENTS + D3D10_SIF_TEXTURE_COMPONENTS = 12, +} + +/// +/// D3D_SHADER_INPUT_TYPE +public enum ShaderInputType : int +{ + /// + /// D3D_SIT_CBUFFER + D3D_SIT_CBUFFER = 0, + /// + /// D3D_SIT_TBUFFER + D3D_SIT_TBUFFER = 1, + /// + /// D3D_SIT_TEXTURE + D3D_SIT_TEXTURE = 2, + /// + /// D3D_SIT_SAMPLER + D3D_SIT_SAMPLER = 3, + /// + /// D3D_SIT_UAV_RWTYPED + D3D_SIT_UAV_RWTYPED = 4, + /// + /// D3D_SIT_STRUCTURED + D3D_SIT_STRUCTURED = 5, + /// + /// D3D_SIT_UAV_RWSTRUCTURED + D3D_SIT_UAV_RWSTRUCTURED = 6, + /// + /// D3D_SIT_BYTEADDRESS + D3D_SIT_BYTEADDRESS = 7, + /// + /// D3D_SIT_UAV_RWBYTEADDRESS + D3D_SIT_UAV_RWBYTEADDRESS = 8, + /// + /// D3D_SIT_UAV_APPEND_STRUCTURED + D3D_SIT_UAV_APPEND_STRUCTURED = 9, + /// + /// D3D_SIT_UAV_CONSUME_STRUCTURED + D3D_SIT_UAV_CONSUME_STRUCTURED = 10, + /// + /// D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER + D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = 11, + /// + /// D3D_SIT_RTACCELERATIONSTRUCTURE + D3D_SIT_RTACCELERATIONSTRUCTURE = 12, + /// + /// D3D_SIT_UAV_FEEDBACKTEXTURE + D3D_SIT_UAV_FEEDBACKTEXTURE = 13, + /// + /// D3D10_SIT_CBUFFER + D3D10_SIT_CBUFFER = 0, + /// + /// D3D10_SIT_TBUFFER + D3D10_SIT_TBUFFER = 1, + /// + /// D3D10_SIT_TEXTURE + D3D10_SIT_TEXTURE = 2, + /// + /// D3D10_SIT_SAMPLER + D3D10_SIT_SAMPLER = 3, + /// + /// D3D11_SIT_UAV_RWTYPED + D3D11_SIT_UAV_RWTYPED = 4, + /// + /// D3D11_SIT_STRUCTURED + D3D11_SIT_STRUCTURED = 5, + /// + /// D3D11_SIT_UAV_RWSTRUCTURED + D3D11_SIT_UAV_RWSTRUCTURED = 6, + /// + /// D3D11_SIT_BYTEADDRESS + D3D11_SIT_BYTEADDRESS = 7, + /// + /// D3D11_SIT_UAV_RWBYTEADDRESS + D3D11_SIT_UAV_RWBYTEADDRESS = 8, + /// + /// D3D11_SIT_UAV_APPEND_STRUCTURED + D3D11_SIT_UAV_APPEND_STRUCTURED = 9, + /// + /// D3D11_SIT_UAV_CONSUME_STRUCTURED + D3D11_SIT_UAV_CONSUME_STRUCTURED = 10, + /// + /// D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER + D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = 11, +} + +/// +/// D3D_SHADER_CBUFFER_FLAGS +public enum ShaderCbufferFlags : int +{ + /// + /// D3D_CBF_USERPACKED + D3D_CBF_USERPACKED = 1, + /// + /// D3D10_CBF_USERPACKED + D3D10_CBF_USERPACKED = 1, +} + +/// +/// D3D_CBUFFER_TYPE +public enum CbufferType : int +{ + /// + /// D3D_CT_CBUFFER + D3D_CT_CBUFFER = 0, + /// + /// D3D_CT_TBUFFER + D3D_CT_TBUFFER = 1, + /// + /// D3D_CT_INTERFACE_POINTERS + D3D_CT_INTERFACE_POINTERS = 2, + /// + /// D3D_CT_RESOURCE_BIND_INFO + D3D_CT_RESOURCE_BIND_INFO = 3, + /// + /// D3D10_CT_CBUFFER + D3D10_CT_CBUFFER = 0, + /// + /// D3D10_CT_TBUFFER + D3D10_CT_TBUFFER = 1, + /// + /// D3D11_CT_CBUFFER + D3D11_CT_CBUFFER = 0, + /// + /// D3D11_CT_TBUFFER + D3D11_CT_TBUFFER = 1, + /// + /// D3D11_CT_INTERFACE_POINTERS + D3D11_CT_INTERFACE_POINTERS = 2, + /// + /// D3D11_CT_RESOURCE_BIND_INFO + D3D11_CT_RESOURCE_BIND_INFO = 3, +} + +/// +/// D3D_NAME +public enum Name : int +{ + /// + /// D3D_NAME_UNDEFINED + Undefined = 0, + /// + /// D3D_NAME_POSITION + Position = 1, + /// + /// D3D_NAME_CLIP_DISTANCE + ClipDistance = 2, + /// + /// D3D_NAME_CULL_DISTANCE + CullDistance = 3, + /// + /// D3D_NAME_RENDER_TARGET_ARRAY_INDEX + RenderTargetArrayIndex = 4, + /// + /// D3D_NAME_VIEWPORT_ARRAY_INDEX + ViewportArrayIndex = 5, + /// + /// D3D_NAME_VERTEX_ID + VertexId = 6, + /// + /// D3D_NAME_PRIMITIVE_ID + PrimitiveId = 7, + /// + /// D3D_NAME_INSTANCE_ID + InstanceId = 8, + /// + /// D3D_NAME_IS_FRONT_FACE + IsFrontFace = 9, + /// + /// D3D_NAME_SAMPLE_INDEX + SampleIndex = 10, + /// + /// D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR + FinalQuadEdgeTessfactor = 11, + /// + /// D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR + FinalQuadInsideTessfactor = 12, + /// + /// D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR + FinalTriEdgeTessfactor = 13, + /// + /// D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR + FinalTriInsideTessfactor = 14, + /// + /// D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR + FinalLineDetailTessfactor = 15, + /// + /// D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR + FinalLineDensityTessfactor = 16, + /// + /// D3D_NAME_BARYCENTRICS + Barycentrics = 23, + /// + /// D3D_NAME_SHADINGRATE + Shadingrate = 24, + /// + /// D3D_NAME_CULLPRIMITIVE + Cullprimitive = 25, + /// + /// D3D_NAME_TARGET + Target = 64, + /// + /// D3D_NAME_DEPTH + Depth = 65, + /// + /// D3D_NAME_COVERAGE + Coverage = 66, + /// + /// D3D_NAME_DEPTH_GREATER_EQUAL + DepthGreaterEqual = 67, + /// + /// D3D_NAME_DEPTH_LESS_EQUAL + DepthLessEqual = 68, + /// + /// D3D_NAME_STENCIL_REF + StencilRef = 69, + /// + /// D3D_NAME_INNER_COVERAGE + InnerCoverage = 70, + /// + /// D3D10_NAME_UNDEFINED + D3D10_NAME_UNDEFINED = 0, + /// + /// D3D10_NAME_POSITION + D3D10_NAME_POSITION = 1, + /// + /// D3D10_NAME_CLIP_DISTANCE + D3D10_NAME_CLIP_DISTANCE = 2, + /// + /// D3D10_NAME_CULL_DISTANCE + D3D10_NAME_CULL_DISTANCE = 3, + /// + /// D3D10_NAME_RENDER_TARGET_ARRAY_INDEX + D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = 4, + /// + /// D3D10_NAME_VIEWPORT_ARRAY_INDEX + D3D10_NAME_VIEWPORT_ARRAY_INDEX = 5, + /// + /// D3D10_NAME_VERTEX_ID + D3D10_NAME_VERTEX_ID = 6, + /// + /// D3D10_NAME_PRIMITIVE_ID + D3D10_NAME_PRIMITIVE_ID = 7, + /// + /// D3D10_NAME_INSTANCE_ID + D3D10_NAME_INSTANCE_ID = 8, + /// + /// D3D10_NAME_IS_FRONT_FACE + D3D10_NAME_IS_FRONT_FACE = 9, + /// + /// D3D10_NAME_SAMPLE_INDEX + D3D10_NAME_SAMPLE_INDEX = 10, + /// + /// D3D10_NAME_TARGET + D3D10_NAME_TARGET = 64, + /// + /// D3D10_NAME_DEPTH + D3D10_NAME_DEPTH = 65, + /// + /// D3D10_NAME_COVERAGE + D3D10_NAME_COVERAGE = 66, + /// + /// D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR + D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, + /// + /// D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR + D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, + /// + /// D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR + D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, + /// + /// D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR + D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, + /// + /// D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR + D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, + /// + /// D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR + D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, + /// + /// D3D11_NAME_DEPTH_GREATER_EQUAL + D3D11_NAME_DEPTH_GREATER_EQUAL = 67, + /// + /// D3D11_NAME_DEPTH_LESS_EQUAL + D3D11_NAME_DEPTH_LESS_EQUAL = 68, + /// + /// D3D11_NAME_STENCIL_REF + D3D11_NAME_STENCIL_REF = 69, + /// + /// D3D11_NAME_INNER_COVERAGE + D3D11_NAME_INNER_COVERAGE = 70, + /// + /// D3D12_NAME_BARYCENTRICS + D3D12_NAME_BARYCENTRICS = 23, + /// + /// D3D12_NAME_SHADINGRATE + D3D12_NAME_SHADINGRATE = 24, + /// + /// D3D12_NAME_CULLPRIMITIVE + D3D12_NAME_CULLPRIMITIVE = 25, +} + +/// +/// D3D_RESOURCE_RETURN_TYPE +public enum ResourceReturnType : int +{ + /// + /// D3D_RETURN_TYPE_UNORM + D3D_RETURN_TYPE_UNORM = 1, + /// + /// D3D_RETURN_TYPE_SNORM + D3D_RETURN_TYPE_SNORM = 2, + /// + /// D3D_RETURN_TYPE_SINT + D3D_RETURN_TYPE_SINT = 3, + /// + /// D3D_RETURN_TYPE_UINT + D3D_RETURN_TYPE_UINT = 4, + /// + /// D3D_RETURN_TYPE_FLOAT + D3D_RETURN_TYPE_FLOAT = 5, + /// + /// D3D_RETURN_TYPE_MIXED + D3D_RETURN_TYPE_MIXED = 6, + /// + /// D3D_RETURN_TYPE_DOUBLE + D3D_RETURN_TYPE_DOUBLE = 7, + /// + /// D3D_RETURN_TYPE_CONTINUED + D3D_RETURN_TYPE_CONTINUED = 8, + /// + /// D3D10_RETURN_TYPE_UNORM + D3D10_RETURN_TYPE_UNORM = 1, + /// + /// D3D10_RETURN_TYPE_SNORM + D3D10_RETURN_TYPE_SNORM = 2, + /// + /// D3D10_RETURN_TYPE_SINT + D3D10_RETURN_TYPE_SINT = 3, + /// + /// D3D10_RETURN_TYPE_UINT + D3D10_RETURN_TYPE_UINT = 4, + /// + /// D3D10_RETURN_TYPE_FLOAT + D3D10_RETURN_TYPE_FLOAT = 5, + /// + /// D3D10_RETURN_TYPE_MIXED + D3D10_RETURN_TYPE_MIXED = 6, + /// + /// D3D11_RETURN_TYPE_UNORM + D3D11_RETURN_TYPE_UNORM = 1, + /// + /// D3D11_RETURN_TYPE_SNORM + D3D11_RETURN_TYPE_SNORM = 2, + /// + /// D3D11_RETURN_TYPE_SINT + D3D11_RETURN_TYPE_SINT = 3, + /// + /// D3D11_RETURN_TYPE_UINT + D3D11_RETURN_TYPE_UINT = 4, + /// + /// D3D11_RETURN_TYPE_FLOAT + D3D11_RETURN_TYPE_FLOAT = 5, + /// + /// D3D11_RETURN_TYPE_MIXED + D3D11_RETURN_TYPE_MIXED = 6, + /// + /// D3D11_RETURN_TYPE_DOUBLE + D3D11_RETURN_TYPE_DOUBLE = 7, + /// + /// D3D11_RETURN_TYPE_CONTINUED + D3D11_RETURN_TYPE_CONTINUED = 8, +} + +/// +/// D3D_REGISTER_COMPONENT_TYPE +public enum RegisterComponentType : int +{ + /// + /// D3D_REGISTER_COMPONENT_UNKNOWN + D3D_REGISTER_COMPONENT_UNKNOWN = 0, + /// + /// D3D_REGISTER_COMPONENT_UINT32 + D3D_REGISTER_COMPONENT_UINT32 = 1, + /// + /// D3D_REGISTER_COMPONENT_SINT32 + D3D_REGISTER_COMPONENT_SINT32 = 2, + /// + /// D3D_REGISTER_COMPONENT_FLOAT32 + D3D_REGISTER_COMPONENT_FLOAT32 = 3, + /// + /// D3D10_REGISTER_COMPONENT_UNKNOWN + D3D10_REGISTER_COMPONENT_UNKNOWN = 0, + /// + /// D3D10_REGISTER_COMPONENT_UINT32 + D3D10_REGISTER_COMPONENT_UINT32 = 1, + /// + /// D3D10_REGISTER_COMPONENT_SINT32 + D3D10_REGISTER_COMPONENT_SINT32 = 2, + /// + /// D3D10_REGISTER_COMPONENT_FLOAT32 + D3D10_REGISTER_COMPONENT_FLOAT32 = 3, +} + +/// +/// D3D_TESSELLATOR_DOMAIN +public enum TessellatorDomain : int +{ + /// + /// D3D_TESSELLATOR_DOMAIN_UNDEFINED + Undefined = 0, + /// + /// D3D_TESSELLATOR_DOMAIN_ISOLINE + Isoline = 1, + /// + /// D3D_TESSELLATOR_DOMAIN_TRI + Tri = 2, + /// + /// D3D_TESSELLATOR_DOMAIN_QUAD + Quad = 3, + /// + /// D3D11_TESSELLATOR_DOMAIN_UNDEFINED + D3D11_TESSELLATOR_DOMAIN_UNDEFINED = 0, + /// + /// D3D11_TESSELLATOR_DOMAIN_ISOLINE + D3D11_TESSELLATOR_DOMAIN_ISOLINE = 1, + /// + /// D3D11_TESSELLATOR_DOMAIN_TRI + D3D11_TESSELLATOR_DOMAIN_TRI = 2, + /// + /// D3D11_TESSELLATOR_DOMAIN_QUAD + D3D11_TESSELLATOR_DOMAIN_QUAD = 3, +} + +/// +/// D3D_TESSELLATOR_PARTITIONING +public enum TessellatorPartitioning : int +{ + /// + /// D3D_TESSELLATOR_PARTITIONING_UNDEFINED + Undefined = 0, + /// + /// D3D_TESSELLATOR_PARTITIONING_INTEGER + Integer = 1, + /// + /// D3D_TESSELLATOR_PARTITIONING_POW2 + Pow2 = 2, + /// + /// D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD + FractionalOdd = 3, + /// + /// D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN + FractionalEven = 4, + /// + /// D3D11_TESSELLATOR_PARTITIONING_UNDEFINED + D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = 0, + /// + /// D3D11_TESSELLATOR_PARTITIONING_INTEGER + D3D11_TESSELLATOR_PARTITIONING_INTEGER = 1, + /// + /// D3D11_TESSELLATOR_PARTITIONING_POW2 + D3D11_TESSELLATOR_PARTITIONING_POW2 = 2, + /// + /// D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD + D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, + /// + /// D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN + D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, +} + +/// +/// D3D_TESSELLATOR_OUTPUT_PRIMITIVE +public enum TessellatorOutputPrimitive : int +{ + /// + /// D3D_TESSELLATOR_OUTPUT_UNDEFINED + D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0, + /// + /// D3D_TESSELLATOR_OUTPUT_POINT + D3D_TESSELLATOR_OUTPUT_POINT = 1, + /// + /// D3D_TESSELLATOR_OUTPUT_LINE + D3D_TESSELLATOR_OUTPUT_LINE = 2, + /// + /// D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, + /// + /// D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, + /// + /// D3D11_TESSELLATOR_OUTPUT_UNDEFINED + D3D11_TESSELLATOR_OUTPUT_UNDEFINED = 0, + /// + /// D3D11_TESSELLATOR_OUTPUT_POINT + D3D11_TESSELLATOR_OUTPUT_POINT = 1, + /// + /// D3D11_TESSELLATOR_OUTPUT_LINE + D3D11_TESSELLATOR_OUTPUT_LINE = 2, + /// + /// D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW + D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, + /// + /// D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW + D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, +} + +/// +/// D3D_MIN_PRECISION +public enum MinPrecision : int +{ + /// + /// D3D_MIN_PRECISION_DEFAULT + Default = 0, + /// + /// D3D_MIN_PRECISION_FLOAT_16 + Float16 = 1, + /// + /// D3D_MIN_PRECISION_FLOAT_2_8 + Float28 = 2, + /// + /// D3D_MIN_PRECISION_RESERVED + Reserved = 3, + /// + /// D3D_MIN_PRECISION_SINT_16 + Sint16 = 4, + /// + /// D3D_MIN_PRECISION_UINT_16 + Uint16 = 5, + /// + /// D3D_MIN_PRECISION_ANY_16 + Any16 = 240, + /// + /// D3D_MIN_PRECISION_ANY_10 + Any10 = 241, +} + +/// +/// D3D_INTERPOLATION_MODE +public enum InterpolationMode : int +{ + /// + /// D3D_INTERPOLATION_UNDEFINED + D3D_INTERPOLATION_UNDEFINED = 0, + /// + /// D3D_INTERPOLATION_CONSTANT + D3D_INTERPOLATION_CONSTANT = 1, + /// + /// D3D_INTERPOLATION_LINEAR + D3D_INTERPOLATION_LINEAR = 2, + /// + /// D3D_INTERPOLATION_LINEAR_CENTROID + D3D_INTERPOLATION_LINEAR_CENTROID = 3, + /// + /// D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, + /// + /// D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, + /// + /// D3D_INTERPOLATION_LINEAR_SAMPLE + D3D_INTERPOLATION_LINEAR_SAMPLE = 6, + /// + /// D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7, +} + +/// +/// D3D_PARAMETER_FLAGS +public enum ParameterFlags : int +{ + /// + /// D3D_PF_NONE + D3D_PF_NONE = 0, + /// + /// D3D_PF_IN + D3D_PF_IN = 1, + /// + /// D3D_PF_OUT + D3D_PF_OUT = 2, +} + +#endregion Enums + +#region Generated Enums +#endregion Generated Enums + +#region Structs +/// +/// D3D_SHADER_MACRO +public partial struct ShaderMacro +{ + /// + public unsafe byte* Name; + + /// + public unsafe byte* Definition; + +} + +#endregion Structs + +#region COM Types +/// +/// ID3DBlob +[Guid("8ba5fb08-5195-40e2-ac58-0d989c3a0102")] +[NativeTypeName("struct ID3DBlob : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3DBlob : ID3DBlob.Interface +{ + public static ref readonly Guid IID_ID3DBlob + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x08, 0xFB, 0xA5, 0x8B, + 0x95, 0x51, + 0xE2, 0x40, + 0xAC, + 0x58, + 0x0D, + 0x98, + 0x9C, + 0x3A, + 0x01, + 0x02 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DBlob)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void* GetBufferPointer() + { +#if NET6_0_OR_GREATER + return ((delegate* unmanaged)(lpVtbl[3]))((ID3DBlob*)Unsafe.AsPointer(ref this)); +#else + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID3DBlob*)Unsafe.AsPointer(ref this)); +#endif + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public nuint GetBufferSize() + { +#if NET6_0_OR_GREATER + return ((delegate* unmanaged)(lpVtbl[4]))((ID3DBlob*)Unsafe.AsPointer(ref this)); +#else + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID3DBlob*)Unsafe.AsPointer(ref this)); +#endif + } + + public interface Interface : IUnknown.Interface + { + } +} + +/// +/// ID3DDestructionNotifier +[Guid("a06eb39a-50da-425b-8c31-4eecd6c270f3")] +[NativeTypeName("struct ID3DDestructionNotifier : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID3DDestructionNotifier : ID3DDestructionNotifier.Interface +{ + public static ref readonly Guid IID_ID3DDestructionNotifier + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x9A, 0xB3, 0x6E, 0xA0, + 0xDA, 0x50, + 0x5B, 0x42, + 0x8C, + 0x31, + 0x4E, + 0xEC, + 0xD6, + 0xC2, + 0x70, + 0xF3 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3DDestructionNotifier)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult UnregisterDestructionCallback(uint callbackID) + { +#if NET6_0_OR_GREATER + return ((delegate* unmanaged)(lpVtbl[4]))((ID3DDestructionNotifier*)Unsafe.AsPointer(ref this), callbackID); +#else + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID3DDestructionNotifier*)Unsafe.AsPointer(ref this), callbackID); +#endif + } + + public interface Interface : IUnknown.Interface + { + } +} + +/// +/// ID3DInclude +public unsafe partial struct ID3DInclude : ID3DInclude.Interface +{ + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult Open(IncludeType IncludeType, byte** pFileName, void* pParentData, void** ppData, uint* pBytes) + { +#if NET6_0_OR_GREATER + return ((delegate* unmanaged)(lpVtbl[0]))((ID3DInclude*)Unsafe.AsPointer(ref this), IncludeType, pFileName, pParentData, ppData, pBytes); +#else + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((ID3DInclude*)Unsafe.AsPointer(ref this), IncludeType, pFileName, pParentData, ppData, pBytes); +#endif + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public HResult Close(void* pData) + { +#if NET6_0_OR_GREATER + return ((delegate* unmanaged)(lpVtbl[1]))((ID3DInclude*)Unsafe.AsPointer(ref this), pData); +#else + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((ID3DInclude*)Unsafe.AsPointer(ref this), pData); +#endif + } + + public interface Interface + { + } +} + +#endregion Com Types diff --git a/src/Vortice.Win32/Generated/Graphics/Dxgi.Common.cs b/src/Vortice.Win32/Generated/Graphics/Dxgi.Common.cs index 27d0a16..d26e7c8 100644 --- a/src/Vortice.Win32/Generated/Graphics/Dxgi.Common.cs +++ b/src/Vortice.Win32/Generated/Graphics/Dxgi.Common.cs @@ -25,527 +25,527 @@ public static partial class Apis } #region Enums -/// +/// /// DXGI_COLOR_SPACE_TYPE public enum ColorSpaceType : int { - /// + /// /// DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 RgbFullG22NoneP709 = 0, - /// + /// /// DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 RgbFullG10NoneP709 = 1, - /// + /// /// DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 RgbStudioG22NoneP709 = 2, - /// + /// /// DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 RgbStudioG22NoneP2020 = 3, - /// + /// /// DXGI_COLOR_SPACE_RESERVED Reserved = 4, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 YcbcrFullG22NoneP709X601 = 5, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 YcbcrStudioG22LeftP601 = 6, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 YcbcrFullG22LeftP601 = 7, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 YcbcrStudioG22LeftP709 = 8, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 YcbcrFullG22LeftP709 = 9, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 YcbcrStudioG22LeftP2020 = 10, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 YcbcrFullG22LeftP2020 = 11, - /// + /// /// DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 RgbFullG2084NoneP2020 = 12, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 YcbcrStudioG2084LeftP2020 = 13, - /// + /// /// DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 RgbStudioG2084NoneP2020 = 14, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 YcbcrStudioG22TopleftP2020 = 15, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 YcbcrStudioG2084TopleftP2020 = 16, - /// + /// /// DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 RgbFullG22NoneP2020 = 17, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020 YcbcrStudioGhlgTopleftP2020 = 18, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020 YcbcrFullGhlgTopleftP2020 = 19, - /// + /// /// DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709 RgbStudioG24NoneP709 = 20, - /// + /// /// DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020 RgbStudioG24NoneP2020 = 21, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709 YcbcrStudioG24LeftP709 = 22, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020 YcbcrStudioG24LeftP2020 = 23, - /// + /// /// DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020 YcbcrStudioG24TopleftP2020 = 24, - /// + /// /// DXGI_COLOR_SPACE_CUSTOM Custom = -1, } -/// +/// /// DXGI_FORMAT public enum Format : uint { - /// + /// /// DXGI_FORMAT_UNKNOWN Unknown = 0, - /// + /// /// DXGI_FORMAT_R32G32B32A32_TYPELESS R32G32B32A32Typeless = 1, - /// + /// /// DXGI_FORMAT_R32G32B32A32_FLOAT R32G32B32A32Float = 2, - /// + /// /// DXGI_FORMAT_R32G32B32A32_UINT R32G32B32A32Uint = 3, - /// + /// /// DXGI_FORMAT_R32G32B32A32_SINT R32G32B32A32Sint = 4, - /// + /// /// DXGI_FORMAT_R32G32B32_TYPELESS R32G32B32Typeless = 5, - /// + /// /// DXGI_FORMAT_R32G32B32_FLOAT R32G32B32Float = 6, - /// + /// /// DXGI_FORMAT_R32G32B32_UINT R32G32B32Uint = 7, - /// + /// /// DXGI_FORMAT_R32G32B32_SINT R32G32B32Sint = 8, - /// + /// /// DXGI_FORMAT_R16G16B16A16_TYPELESS R16G16B16A16Typeless = 9, - /// + /// /// DXGI_FORMAT_R16G16B16A16_FLOAT R16G16B16A16Float = 10, - /// + /// /// DXGI_FORMAT_R16G16B16A16_UNORM R16G16B16A16Unorm = 11, - /// + /// /// DXGI_FORMAT_R16G16B16A16_UINT R16G16B16A16Uint = 12, - /// + /// /// DXGI_FORMAT_R16G16B16A16_SNORM R16G16B16A16Snorm = 13, - /// + /// /// DXGI_FORMAT_R16G16B16A16_SINT R16G16B16A16Sint = 14, - /// + /// /// DXGI_FORMAT_R32G32_TYPELESS R32G32Typeless = 15, - /// + /// /// DXGI_FORMAT_R32G32_FLOAT R32G32Float = 16, - /// + /// /// DXGI_FORMAT_R32G32_UINT R32G32Uint = 17, - /// + /// /// DXGI_FORMAT_R32G32_SINT R32G32Sint = 18, - /// + /// /// DXGI_FORMAT_R32G8X24_TYPELESS R32G8X24Typeless = 19, - /// + /// /// DXGI_FORMAT_D32_FLOAT_S8X24_UINT D32FloatS8X24Uint = 20, - /// + /// /// DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS R32FloatX8X24Typeless = 21, - /// + /// /// DXGI_FORMAT_X32_TYPELESS_G8X24_UINT X32TypelessG8X24Uint = 22, - /// + /// /// DXGI_FORMAT_R10G10B10A2_TYPELESS R10G10B10A2Typeless = 23, - /// + /// /// DXGI_FORMAT_R10G10B10A2_UNORM R10G10B10A2Unorm = 24, - /// + /// /// DXGI_FORMAT_R10G10B10A2_UINT R10G10B10A2Uint = 25, - /// + /// /// DXGI_FORMAT_R11G11B10_FLOAT R11G11B10Float = 26, - /// + /// /// DXGI_FORMAT_R8G8B8A8_TYPELESS R8G8B8A8Typeless = 27, - /// + /// /// DXGI_FORMAT_R8G8B8A8_UNORM R8G8B8A8Unorm = 28, - /// + /// /// DXGI_FORMAT_R8G8B8A8_UNORM_SRGB R8G8B8A8UnormSrgb = 29, - /// + /// /// DXGI_FORMAT_R8G8B8A8_UINT R8G8B8A8Uint = 30, - /// + /// /// DXGI_FORMAT_R8G8B8A8_SNORM R8G8B8A8Snorm = 31, - /// + /// /// DXGI_FORMAT_R8G8B8A8_SINT R8G8B8A8Sint = 32, - /// + /// /// DXGI_FORMAT_R16G16_TYPELESS R16G16Typeless = 33, - /// + /// /// DXGI_FORMAT_R16G16_FLOAT R16G16Float = 34, - /// + /// /// DXGI_FORMAT_R16G16_UNORM R16G16Unorm = 35, - /// + /// /// DXGI_FORMAT_R16G16_UINT R16G16Uint = 36, - /// + /// /// DXGI_FORMAT_R16G16_SNORM R16G16Snorm = 37, - /// + /// /// DXGI_FORMAT_R16G16_SINT R16G16Sint = 38, - /// + /// /// DXGI_FORMAT_R32_TYPELESS R32Typeless = 39, - /// + /// /// DXGI_FORMAT_D32_FLOAT D32Float = 40, - /// + /// /// DXGI_FORMAT_R32_FLOAT R32Float = 41, - /// + /// /// DXGI_FORMAT_R32_UINT R32Uint = 42, - /// + /// /// DXGI_FORMAT_R32_SINT R32Sint = 43, - /// + /// /// DXGI_FORMAT_R24G8_TYPELESS R24G8Typeless = 44, - /// + /// /// DXGI_FORMAT_D24_UNORM_S8_UINT D24UnormS8Uint = 45, - /// + /// /// DXGI_FORMAT_R24_UNORM_X8_TYPELESS R24UnormX8Typeless = 46, - /// + /// /// DXGI_FORMAT_X24_TYPELESS_G8_UINT X24TypelessG8Uint = 47, - /// + /// /// DXGI_FORMAT_R8G8_TYPELESS R8G8Typeless = 48, - /// + /// /// DXGI_FORMAT_R8G8_UNORM R8G8Unorm = 49, - /// + /// /// DXGI_FORMAT_R8G8_UINT R8G8Uint = 50, - /// + /// /// DXGI_FORMAT_R8G8_SNORM R8G8Snorm = 51, - /// + /// /// DXGI_FORMAT_R8G8_SINT R8G8Sint = 52, - /// + /// /// DXGI_FORMAT_R16_TYPELESS R16Typeless = 53, - /// + /// /// DXGI_FORMAT_R16_FLOAT R16Float = 54, - /// + /// /// DXGI_FORMAT_D16_UNORM D16Unorm = 55, - /// + /// /// DXGI_FORMAT_R16_UNORM R16Unorm = 56, - /// + /// /// DXGI_FORMAT_R16_UINT R16Uint = 57, - /// + /// /// DXGI_FORMAT_R16_SNORM R16Snorm = 58, - /// + /// /// DXGI_FORMAT_R16_SINT R16Sint = 59, - /// + /// /// DXGI_FORMAT_R8_TYPELESS R8Typeless = 60, - /// + /// /// DXGI_FORMAT_R8_UNORM R8Unorm = 61, - /// + /// /// DXGI_FORMAT_R8_UINT R8Uint = 62, - /// + /// /// DXGI_FORMAT_R8_SNORM R8Snorm = 63, - /// + /// /// DXGI_FORMAT_R8_SINT R8Sint = 64, - /// + /// /// DXGI_FORMAT_A8_UNORM A8Unorm = 65, - /// + /// /// DXGI_FORMAT_R1_UNORM R1Unorm = 66, - /// + /// /// DXGI_FORMAT_R9G9B9E5_SHAREDEXP R9G9B9E5SharedExp = 67, - /// + /// /// DXGI_FORMAT_R8G8_B8G8_UNORM R8G8B8G8Unorm = 68, - /// + /// /// DXGI_FORMAT_G8R8_G8B8_UNORM G8R8G8B8Unorm = 69, - /// + /// /// DXGI_FORMAT_BC1_TYPELESS BC1Typeless = 70, - /// + /// /// DXGI_FORMAT_BC1_UNORM BC1Unorm = 71, - /// + /// /// DXGI_FORMAT_BC1_UNORM_SRGB BC1UnormSrgb = 72, - /// + /// /// DXGI_FORMAT_BC2_TYPELESS BC2Typeless = 73, - /// + /// /// DXGI_FORMAT_BC2_UNORM BC2Unorm = 74, - /// + /// /// DXGI_FORMAT_BC2_UNORM_SRGB BC2UnormSrgb = 75, - /// + /// /// DXGI_FORMAT_BC3_TYPELESS BC3Typeless = 76, - /// + /// /// DXGI_FORMAT_BC3_UNORM BC3Unorm = 77, - /// + /// /// DXGI_FORMAT_BC3_UNORM_SRGB BC3UnormSrgb = 78, - /// + /// /// DXGI_FORMAT_BC4_TYPELESS BC4Typeless = 79, - /// + /// /// DXGI_FORMAT_BC4_UNORM BC4Unorm = 80, - /// + /// /// DXGI_FORMAT_BC4_SNORM BC4Snorm = 81, - /// + /// /// DXGI_FORMAT_BC5_TYPELESS BC5Typeless = 82, - /// + /// /// DXGI_FORMAT_BC5_UNORM BC5Unorm = 83, - /// + /// /// DXGI_FORMAT_BC5_SNORM BC5Snorm = 84, - /// + /// /// DXGI_FORMAT_B5G6R5_UNORM B5G6R5Unorm = 85, - /// + /// /// DXGI_FORMAT_B5G5R5A1_UNORM B5G5R5A1Unorm = 86, - /// + /// /// DXGI_FORMAT_B8G8R8A8_UNORM B8G8R8A8Unorm = 87, - /// + /// /// DXGI_FORMAT_B8G8R8X8_UNORM B8G8R8X8Unorm = 88, - /// + /// /// DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM R10G10B10XRBIASA2Unorm = 89, - /// + /// /// DXGI_FORMAT_B8G8R8A8_TYPELESS B8G8R8A8Typeless = 90, - /// + /// /// DXGI_FORMAT_B8G8R8A8_UNORM_SRGB B8G8R8A8UnormSrgb = 91, - /// + /// /// DXGI_FORMAT_B8G8R8X8_TYPELESS B8G8R8X8Typeless = 92, - /// + /// /// DXGI_FORMAT_B8G8R8X8_UNORM_SRGB B8G8R8X8UnormSrgb = 93, - /// + /// /// DXGI_FORMAT_BC6H_TYPELESS BC6HTypeless = 94, - /// + /// /// DXGI_FORMAT_BC6H_UF16 BC6HUF16 = 95, - /// + /// /// DXGI_FORMAT_BC6H_SF16 BC6HSF16 = 96, - /// + /// /// DXGI_FORMAT_BC7_TYPELESS BC7Typeless = 97, - /// + /// /// DXGI_FORMAT_BC7_UNORM BC7Unorm = 98, - /// + /// /// DXGI_FORMAT_BC7_UNORM_SRGB BC7UnormSrgb = 99, - /// + /// /// DXGI_FORMAT_AYUV AYUV = 100, - /// + /// /// DXGI_FORMAT_Y410 Y410 = 101, - /// + /// /// DXGI_FORMAT_Y416 Y416 = 102, - /// + /// /// DXGI_FORMAT_NV12 NV12 = 103, - /// + /// /// DXGI_FORMAT_P010 P010 = 104, - /// + /// /// DXGI_FORMAT_P016 P016 = 105, - /// + /// /// DXGI_FORMAT_420_OPAQUE Opaque420 = 106, - /// + /// /// DXGI_FORMAT_YUY2 YUY2 = 107, - /// + /// /// DXGI_FORMAT_Y210 Y210 = 108, - /// + /// /// DXGI_FORMAT_Y216 Y216 = 109, - /// + /// /// DXGI_FORMAT_NV11 NV11 = 110, - /// + /// /// DXGI_FORMAT_AI44 AI44 = 111, - /// + /// /// DXGI_FORMAT_IA44 IA44 = 112, - /// + /// /// DXGI_FORMAT_P8 P8 = 113, - /// + /// /// DXGI_FORMAT_A8P8 A8P8 = 114, - /// + /// /// DXGI_FORMAT_B4G4R4A4_UNORM B4G4R4A4Unorm = 115, - /// + /// /// DXGI_FORMAT_P208 P208 = 130, - /// + /// /// DXGI_FORMAT_V208 V208 = 131, - /// + /// /// DXGI_FORMAT_V408 V408 = 132, - /// + /// /// DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE SamplerFeedbackMinMipOpaque = 189, - /// + /// /// DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE SamplerFeedbackMipRegionUsedOpaque = 190, } -/// +/// /// DXGI_MODE_SCANLINE_ORDER public enum ModeScanlineOrder : int { - /// + /// /// DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED Unspecified = 0, - /// + /// /// DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE Progressive = 1, - /// + /// /// DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST UpperFieldFirst = 2, - /// + /// /// DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST LowerFieldFirst = 3, } -/// +/// /// DXGI_MODE_SCALING public enum ModeScaling : int { - /// + /// /// DXGI_MODE_SCALING_UNSPECIFIED Unspecified = 0, - /// + /// /// DXGI_MODE_SCALING_CENTERED Centered = 1, - /// + /// /// DXGI_MODE_SCALING_STRETCHED Stretched = 2, } -/// +/// /// DXGI_MODE_ROTATION public enum ModeRotation : int { - /// + /// /// DXGI_MODE_ROTATION_UNSPECIFIED Unspecified = 0, - /// + /// /// DXGI_MODE_ROTATION_IDENTITY Identity = 1, - /// + /// /// DXGI_MODE_ROTATION_ROTATE90 Rotate90 = 2, - /// + /// /// DXGI_MODE_ROTATION_ROTATE180 Rotate180 = 3, - /// + /// /// DXGI_MODE_ROTATION_ROTATE270 Rotate270 = 4, } -/// +/// /// DXGI_ALPHA_MODE public enum AlphaMode : uint { - /// + /// /// DXGI_ALPHA_MODE_UNSPECIFIED Unspecified = 0, - /// + /// /// DXGI_ALPHA_MODE_PREMULTIPLIED Premultiplied = 1, - /// + /// /// DXGI_ALPHA_MODE_STRAIGHT Straight = 2, - /// + /// /// DXGI_ALPHA_MODE_IGNORE Ignore = 3, } @@ -571,56 +571,56 @@ public enum CpuAccess : uint #endregion Generated Enums #region Structs -/// +/// /// DXGI_RATIONAL public partial struct Rational { - /// + /// public uint Numerator; - /// + /// public uint Denominator; } -/// +/// /// DXGI_SAMPLE_DESC public partial struct SampleDescription { - /// + /// public uint Count; - /// + /// public uint Quality; } -/// +/// /// DXGI_RGB public partial struct Rgb { - /// + /// public float Red; - /// + /// public float Green; - /// + /// public float Blue; } -/// +/// /// DXGI_GAMMA_CONTROL public partial struct GammaControl { - /// + /// public Rgb Scale; - /// + /// public Rgb Offset; - /// + /// public GammaCurve__FixedBuffer GammaCurve; public unsafe struct GammaCurve__FixedBuffer @@ -1671,80 +1671,80 @@ public partial struct GammaControl } -/// +/// /// DXGI_GAMMA_CONTROL_CAPABILITIES public partial struct GammaControlCapabilities { - /// + /// public Bool32 ScaleAndOffsetSupported; - /// + /// public float MaxConvertedValue; - /// + /// public float MinConvertedValue; - /// + /// public uint NumGammaControlPoints; - /// + /// public unsafe fixed float ControlPointPositions[1025]; } -/// +/// /// DXGI_MODE_DESC public partial struct ModeDescription { - /// + /// public uint Width; - /// + /// public uint Height; - /// + /// public Rational RefreshRate; - /// + /// public Format Format; - /// + /// public ModeScanlineOrder ScanlineOrdering; - /// + /// public ModeScaling Scaling; } -/// +/// /// DXGI_JPEG_DC_HUFFMAN_TABLE public partial struct JpegDcHuffmanTable { - /// + /// public unsafe fixed byte CodeCounts[12]; - /// + /// public unsafe fixed byte CodeValues[12]; } -/// +/// /// DXGI_JPEG_AC_HUFFMAN_TABLE public partial struct JpegAcHuffmanTable { - /// + /// public unsafe fixed byte CodeCounts[16]; - /// + /// public unsafe fixed byte CodeValues[162]; } -/// +/// /// DXGI_JPEG_QUANTIZATION_TABLE public partial struct JpegQuantizationTable { - /// + /// public unsafe fixed byte Elements[64]; } diff --git a/src/Vortice.Win32/Generated/Graphics/Dxgi.cs b/src/Vortice.Win32/Generated/Graphics/Dxgi.cs index 3d245ab..f1a8de4 100644 --- a/src/Vortice.Win32/Generated/Graphics/Dxgi.cs +++ b/src/Vortice.Win32/Generated/Graphics/Dxgi.cs @@ -66,1478 +66,1478 @@ public static partial class Apis } #region Enums -/// +/// /// DXGI_RESOURCE_PRIORITY public enum ResourcePriority : uint { - /// + /// /// DXGI_RESOURCE_PRIORITY_MINIMUM Minimum = 671088640, - /// + /// /// DXGI_RESOURCE_PRIORITY_LOW Low = 1342177280, - /// + /// /// DXGI_RESOURCE_PRIORITY_NORMAL Normal = 2013265920, - /// + /// /// DXGI_RESOURCE_PRIORITY_HIGH High = 2684354560, - /// + /// /// DXGI_RESOURCE_PRIORITY_MAXIMUM Maximum = 3355443200, } -/// +/// /// DXGI_RESIDENCY public enum Residency : int { - /// + /// /// DXGI_RESIDENCY_FULLY_RESIDENT FullyResident = 1, - /// + /// /// DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY ResidentInSharedMemory = 2, - /// + /// /// DXGI_RESIDENCY_EVICTED_TO_DISK EvictedToDisk = 3, } -/// +/// /// DXGI_SWAP_EFFECT public enum SwapEffect : int { - /// + /// /// DXGI_SWAP_EFFECT_DISCARD Discard = 0, - /// + /// /// DXGI_SWAP_EFFECT_SEQUENTIAL Sequential = 1, - /// + /// /// DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL FlipSequential = 3, - /// + /// /// DXGI_SWAP_EFFECT_FLIP_DISCARD FlipDiscard = 4, } -/// +/// /// DXGI_SWAP_CHAIN_FLAG public enum SwapChainFlags : int { - /// + /// /// DXGI_SWAP_CHAIN_FLAG_NONPREROTATED NonPrerotated = 1, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH AllowModeSwitch = 2, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE GDICompatible = 4, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT RestrictedContent = 8, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER RestrictSharedResourceDriver = 16, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY DisplayOnly = 32, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT FrameLatencyWaitableObject = 64, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER ForegroundLayer = 128, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO FullscreenVideo = 256, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO YUVVideo = 512, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED HWProtected = 1024, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING AllowTearing = 2048, - /// + /// /// DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS RestrictedToAllHolographicDisplays = 4096, } -/// +/// /// DXGI_ADAPTER_FLAG [Flags] public enum AdapterFlags : uint { - /// + /// /// DXGI_ADAPTER_FLAG_NONE None = 0, - /// + /// /// DXGI_ADAPTER_FLAG_REMOTE Remote = 1, - /// + /// /// DXGI_ADAPTER_FLAG_SOFTWARE Software = 2, } -/// +/// /// DXGI_OUTDUPL_POINTER_SHAPE_TYPE public enum OutduplPointerShapeType : int { - /// + /// /// DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME Monochrome = 1, - /// + /// /// DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR Color = 2, - /// + /// /// DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR MaskedColor = 4, } -/// +/// /// DXGI_OFFER_RESOURCE_PRIORITY public enum OfferResourcePriority : int { - /// + /// /// DXGI_OFFER_RESOURCE_PRIORITY_LOW Low = 1, - /// + /// /// DXGI_OFFER_RESOURCE_PRIORITY_NORMAL Normal = 2, - /// + /// /// DXGI_OFFER_RESOURCE_PRIORITY_HIGH High = 3, } -/// +/// /// DXGI_SCALING public enum Scaling : int { - /// + /// /// DXGI_SCALING_STRETCH Stretch = 0, - /// + /// /// DXGI_SCALING_NONE None = 1, - /// + /// /// DXGI_SCALING_ASPECT_RATIO_STRETCH AspectRatioStretch = 2, } -/// +/// /// DXGI_GRAPHICS_PREEMPTION_GRANULARITY public enum GraphicsPreemptionGranularity : int { - /// + /// /// DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY DmaBufferBoundary = 0, - /// + /// /// DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY PrimitiveBoundary = 1, - /// + /// /// DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY TriangleBoundary = 2, - /// + /// /// DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY PixelBoundary = 3, - /// + /// /// DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY InstructionBoundary = 4, } -/// +/// /// DXGI_COMPUTE_PREEMPTION_GRANULARITY public enum ComputePreemptionGranularity : int { - /// + /// /// DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY DmaBufferBoundary = 0, - /// + /// /// DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY DispatchBoundary = 1, - /// + /// /// DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY ThreadGroupBoundary = 2, - /// + /// /// DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY ThreadBoundary = 3, - /// + /// /// DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY InstructionBoundary = 4, } -/// +/// /// DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS public enum MultiplaneOverlayYcbcrFlags : int { - /// + /// /// DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE YcbcrFlagNominalRange = 1, - /// + /// /// DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709 YcbcrFlagBt709 = 2, - /// + /// /// DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC YcbcrFlagXvycc = 4, } -/// +/// /// DXGI_FRAME_PRESENTATION_MODE public enum FramePresentationMode : int { - /// + /// /// DXGI_FRAME_PRESENTATION_MODE_COMPOSED Composed = 0, - /// + /// /// DXGI_FRAME_PRESENTATION_MODE_OVERLAY Overlay = 1, - /// + /// /// DXGI_FRAME_PRESENTATION_MODE_NONE None = 2, - /// + /// /// DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE CompositionFailure = 3, } -/// +/// /// DXGI_OVERLAY_SUPPORT_FLAG public enum OverlaySupportFlag : int { - /// + /// /// DXGI_OVERLAY_SUPPORT_FLAG_DIRECT Direct = 1, - /// + /// /// DXGI_OVERLAY_SUPPORT_FLAG_SCALING Scaling = 2, } -/// +/// /// DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG public enum SwapChainColorSpaceSupportFlag : int { - /// + /// /// DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT Present = 1, - /// + /// /// DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT OverlayPresent = 2, } -/// +/// /// DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG public enum OverlayColorSpaceSupportFlag : int { - /// + /// /// DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT Present = 1, } -/// +/// /// DXGI_MEMORY_SEGMENT_GROUP public enum MemorySegmentGroup : int { - /// + /// /// DXGI_MEMORY_SEGMENT_GROUP_LOCAL Local = 0, - /// + /// /// DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL NonLocal = 1, } -/// +/// /// DXGI_OUTDUPL_FLAG public enum OutduplFlag : int { - /// + /// /// DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY CompositedUICaptureOnly = 1, } -/// +/// /// DXGI_HDR_METADATA_TYPE public enum HdrMetadataType : int { - /// + /// /// DXGI_HDR_METADATA_TYPE_NONE None = 0, - /// + /// /// DXGI_HDR_METADATA_TYPE_HDR10 Hdr10 = 1, - /// + /// /// DXGI_HDR_METADATA_TYPE_HDR10PLUS Hdr10plus = 2, } -/// +/// /// DXGI_OFFER_RESOURCE_FLAGS public enum OfferResourceFlags : int { - /// + /// /// DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT AllowDecommit = 1, } -/// +/// /// DXGI_RECLAIM_RESOURCE_RESULTS public enum ReclaimResourceResults : int { - /// + /// /// DXGI_RECLAIM_RESOURCE_RESULT_OK Ok = 0, - /// + /// /// DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED Discarded = 1, - /// + /// /// DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED NotCommitted = 2, } -/// +/// /// DXGI_FEATURE public enum Feature : int { - /// + /// /// DXGI_FEATURE_PRESENT_ALLOW_TEARING PresentAllowTearing = 0, } -/// +/// /// DXGI_ADAPTER_FLAG3 [Flags] public enum AdapterFlags3 : uint { - /// + /// /// DXGI_ADAPTER_FLAG3_NONE None = 0, - /// + /// /// DXGI_ADAPTER_FLAG3_REMOTE Remote = 1, - /// + /// /// DXGI_ADAPTER_FLAG3_SOFTWARE Software = 2, - /// + /// /// DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE AcgCompatible = 4, - /// + /// /// DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES SupportMonitoredFences = 8, - /// + /// /// DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES SupportNonMonitoredFences = 16, - /// + /// /// DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE KeyedMutexConformance = 32, } -/// +/// /// DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS [Flags] public enum HardwareCompositionSupportFlags : uint { None = 0, - /// + /// /// DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN Fullscreen = 1, - /// + /// /// DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED Windowed = 2, - /// + /// /// DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED CursorStretched = 4, } -/// +/// /// DXGI_GPU_PREFERENCE public enum GpuPreference : int { - /// + /// /// DXGI_GPU_PREFERENCE_UNSPECIFIED Unspecified = 0, - /// + /// /// DXGI_GPU_PREFERENCE_MINIMUM_POWER MinimumPower = 1, - /// + /// /// DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE HighPerformance = 2, } -/// +/// /// DXGI_DEBUG_RLO_FLAGS [Flags] public enum DebugRloFlags : uint { None = 0, - /// + /// /// DXGI_DEBUG_RLO_SUMMARY Summary = 1, - /// + /// /// DXGI_DEBUG_RLO_DETAIL Detail = 2, - /// + /// /// DXGI_DEBUG_RLO_IGNORE_INTERNAL IgnoreInternal = 4, - /// + /// /// DXGI_DEBUG_RLO_ALL All = 7, } -/// +/// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY public enum InfoQueueMessageCategory : int { - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN Unknown = 0, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS Miscellaneous = 1, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION Initialization = 2, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP Cleanup = 3, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION Compilation = 4, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION StateCreation = 5, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING StateSetting = 6, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING StateGetting = 7, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION ResourceManipulation = 8, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION Execution = 9, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER Shader = 10, } -/// +/// /// DXGI_INFO_QUEUE_MESSAGE_SEVERITY public enum InfoQueueMessageSeverity : int { - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION Corruption = 0, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR Error = 1, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING Warning = 2, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO Info = 3, - /// + /// /// DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE Message = 4, } -/// +/// /// DXGI_Message_Id public enum MessageId : int { - /// + /// /// DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_InvalidOutputWindow IDXGISwapChain_CreationOrResizeBuffers_InvalidOutputWindow = 0, - /// + /// /// DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_BufferWidthInferred IDXGISwapChain_CreationOrResizeBuffers_BufferWidthInferred = 1, - /// + /// /// DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_BufferHeightInferred IDXGISwapChain_CreationOrResizeBuffers_BufferHeightInferred = 2, - /// + /// /// DXGI_MSG_IDXGISwapChain_CreationOrResizeBuffers_NoScanoutFlagChanged IDXGISwapChain_CreationOrResizeBuffers_NoScanoutFlagChanged = 3, - /// + /// /// DXGI_MSG_IDXGISwapChain_Creation_MaxBufferCountExceeded IDXGISwapChain_Creation_MaxBufferCountExceeded = 4, - /// + /// /// DXGI_MSG_IDXGISwapChain_Creation_TooFewBuffers IDXGISwapChain_Creation_TooFewBuffers = 5, - /// + /// /// DXGI_MSG_IDXGISwapChain_Creation_NoOutputWindow IDXGISwapChain_Creation_NoOutputWindow = 6, - /// + /// /// DXGI_MSG_IDXGISwapChain_Destruction_OtherMethodsCalled IDXGISwapChain_Destruction_OtherMethodsCalled = 7, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetDesc_pDescIsNULL IDXGISwapChain_GetDesc_pDescIsNULL = 8, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetBuffer_ppSurfaceIsNULL IDXGISwapChain_GetBuffer_ppSurfaceIsNULL = 9, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetBuffer_NoAllocatedBuffers IDXGISwapChain_GetBuffer_NoAllocatedBuffers = 10, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetBuffer_iBufferMustBeZero IDXGISwapChain_GetBuffer_iBufferMustBeZero = 11, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetBuffer_iBufferOOB IDXGISwapChain_GetBuffer_iBufferOOB = 12, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetContainingOutput_ppOutputIsNULL IDXGISwapChain_GetContainingOutput_ppOutputIsNULL = 13, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_SyncIntervalOOB IDXGISwapChain_Present_SyncIntervalOOB = 14, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_InvalidNonPreRotatedFlag IDXGISwapChain_Present_InvalidNonPreRotatedFlag = 15, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_NoAllocatedBuffers IDXGISwapChain_Present_NoAllocatedBuffers = 16, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_GetDXGIAdapterFailed IDXGISwapChain_Present_GetDXGIAdapterFailed = 17, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_BufferCountOOB IDXGISwapChain_ResizeBuffers_BufferCountOOB = 18, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_UnreleasedReferences IDXGISwapChain_ResizeBuffers_UnreleasedReferences = 19, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidSwapChainFlag IDXGISwapChain_ResizeBuffers_InvalidSwapChainFlag = 20, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidNonPreRotatedFlag IDXGISwapChain_ResizeBuffers_InvalidNonPreRotatedFlag = 21, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeTarget_RefreshRateDivideByZero IDXGISwapChain_ResizeTarget_RefreshRateDivideByZero = 22, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_InvalidTarget IDXGISwapChain_SetFullscreenState_InvalidTarget = 23, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetFrameStatistics_pStatsIsNULL IDXGISwapChain_GetFrameStatistics_pStatsIsNULL = 24, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetLastPresentCount_pLastPresentCountIsNULL IDXGISwapChain_GetLastPresentCount_pLastPresentCountIsNULL = 25, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_RemoteNotSupported IDXGISwapChain_SetFullscreenState_RemoteNotSupported = 26, - /// + /// /// DXGI_MSG_IDXGIOutput_TakeOwnership_FailedToAcquireFullscreenMutex IDXGIOutput_TakeOwnership_FailedToAcquireFullscreenMutex = 27, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSoftwareAdapter_ppAdapterInterfaceIsNULL IDXGIFactory_CreateSoftwareAdapter_ppAdapterInterfaceIsNULL = 28, - /// + /// /// DXGI_MSG_IDXGIFactory_EnumAdapters_ppAdapterInterfaceIsNULL IDXGIFactory_EnumAdapters_ppAdapterInterfaceIsNULL = 29, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_ppSwapChainIsNULL IDXGIFactory_CreateSwapChain_ppSwapChainIsNULL = 30, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_pDescIsNULL IDXGIFactory_CreateSwapChain_pDescIsNULL = 31, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_UnknownSwapEffect IDXGIFactory_CreateSwapChain_UnknownSwapEffect = 32, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidFlags IDXGIFactory_CreateSwapChain_InvalidFlags = 33, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_NonPreRotatedFlagAndWindowed IDXGIFactory_CreateSwapChain_NonPreRotatedFlagAndWindowed = 34, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_NullDeviceInterface IDXGIFactory_CreateSwapChain_NullDeviceInterface = 35, - /// + /// /// DXGI_MSG_IDXGIFactory_GetWindowAssociation_phWndIsNULL IDXGIFactory_GetWindowAssociation_phWndIsNULL = 36, - /// + /// /// DXGI_MSG_IDXGIFactory_MakeWindowAssociation_InvalidFlags IDXGIFactory_MakeWindowAssociation_InvalidFlags = 37, - /// + /// /// DXGI_MSG_IDXGISurface_Map_InvalidSurface IDXGISurface_Map_InvalidSurface = 38, - /// + /// /// DXGI_MSG_IDXGISurface_Map_FlagsSetToZero IDXGISurface_Map_FlagsSetToZero = 39, - /// + /// /// DXGI_MSG_IDXGISurface_Map_DiscardAndReadFlagSet IDXGISurface_Map_DiscardAndReadFlagSet = 40, - /// + /// /// DXGI_MSG_IDXGISurface_Map_DiscardButNotWriteFlagSet IDXGISurface_Map_DiscardButNotWriteFlagSet = 41, - /// + /// /// DXGI_MSG_IDXGISurface_Map_NoCPUAccess IDXGISurface_Map_NoCPUAccess = 42, - /// + /// /// DXGI_MSG_IDXGISurface_Map_ReadFlagSetButCPUAccessIsDynamic IDXGISurface_Map_ReadFlagSetButCPUAccessIsDynamic = 43, - /// + /// /// DXGI_MSG_IDXGISurface_Map_DiscardFlagSetButCPUAccessIsNotDynamic IDXGISurface_Map_DiscardFlagSetButCPUAccessIsNotDynamic = 44, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplayModeList_pNumModesIsNULL IDXGIOutput_GetDisplayModeList_pNumModesIsNULL = 45, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_ModeHasInvalidWidthOrHeight IDXGIOutput_FindClosestMatchingMode_ModeHasInvalidWidthOrHeight = 46, - /// + /// /// DXGI_MSG_IDXGIOutput_GetCammaControlCapabilities_NoOwnerDevice IDXGIOutput_GetCammaControlCapabilities_NoOwnerDevice = 47, - /// + /// /// DXGI_MSG_IDXGIOutput_TakeOwnership_pDeviceIsNULL IDXGIOutput_TakeOwnership_pDeviceIsNULL = 48, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_NoOwnerDevice IDXGIOutput_GetDisplaySurfaceData_NoOwnerDevice = 49, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_pDestinationIsNULL IDXGIOutput_GetDisplaySurfaceData_pDestinationIsNULL = 50, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_MapOfDestinationFailed IDXGIOutput_GetDisplaySurfaceData_MapOfDestinationFailed = 51, - /// + /// /// DXGI_MSG_IDXGIOutput_GetFrameStatistics_NoOwnerDevice IDXGIOutput_GetFrameStatistics_NoOwnerDevice = 52, - /// + /// /// DXGI_MSG_IDXGIOutput_GetFrameStatistics_pStatsIsNULL IDXGIOutput_GetFrameStatistics_pStatsIsNULL = 53, - /// + /// /// DXGI_MSG_IDXGIOutput_SetGammaControl_NoOwnerDevice IDXGIOutput_SetGammaControl_NoOwnerDevice = 54, - /// + /// /// DXGI_MSG_IDXGIOutput_GetGammaControl_NoOwnerDevice IDXGIOutput_GetGammaControl_NoOwnerDevice = 55, - /// + /// /// DXGI_MSG_IDXGIOutput_GetGammaControl_NoGammaControls IDXGIOutput_GetGammaControl_NoGammaControls = 56, - /// + /// /// DXGI_MSG_IDXGIOutput_SetDisplaySurface_IDXGIResourceNotSupportedBypPrimary IDXGIOutput_SetDisplaySurface_IDXGIResourceNotSupportedBypPrimary = 57, - /// + /// /// DXGI_MSG_IDXGIOutput_SetDisplaySurface_pPrimaryIsInvalid IDXGIOutput_SetDisplaySurface_pPrimaryIsInvalid = 58, - /// + /// /// DXGI_MSG_IDXGIOutput_SetDisplaySurface_NoOwnerDevice IDXGIOutput_SetDisplaySurface_NoOwnerDevice = 59, - /// + /// /// DXGI_MSG_IDXGIOutput_TakeOwnership_RemoteDeviceNotSupported IDXGIOutput_TakeOwnership_RemoteDeviceNotSupported = 60, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplayModeList_RemoteDeviceNotSupported IDXGIOutput_GetDisplayModeList_RemoteDeviceNotSupported = 61, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_RemoteDeviceNotSupported IDXGIOutput_FindClosestMatchingMode_RemoteDeviceNotSupported = 62, - /// + /// /// DXGI_MSG_IDXGIDevice_CreateSurface_InvalidParametersWithpSharedResource IDXGIDevice_CreateSurface_InvalidParametersWithpSharedResource = 63, - /// + /// /// DXGI_MSG_IDXGIObject_GetPrivateData_puiDataSizeIsNULL IDXGIObject_GetPrivateData_puiDataSizeIsNULL = 64, - /// + /// /// DXGI_MSG_IDXGISwapChain_Creation_InvalidOutputWindow IDXGISwapChain_Creation_InvalidOutputWindow = 65, - /// + /// /// DXGI_MSG_IDXGISwapChain_Release_SwapChainIsFullscreen IDXGISwapChain_Release_SwapChainIsFullscreen = 66, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_InvalidTargetSurfaceFormat IDXGIOutput_GetDisplaySurfaceData_InvalidTargetSurfaceFormat = 67, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSoftwareAdapter_ModuleIsNULL IDXGIFactory_CreateSoftwareAdapter_ModuleIsNULL = 68, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_IDXGIDeviceNotSupportedBypConcernedDevice IDXGIOutput_FindClosestMatchingMode_IDXGIDeviceNotSupportedBypConcernedDevice = 69, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_pModeToMatchOrpClosestMatchIsNULL IDXGIOutput_FindClosestMatchingMode_pModeToMatchOrpClosestMatchIsNULL = 70, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_ModeHasRefreshRateDenominatorZero IDXGIOutput_FindClosestMatchingMode_ModeHasRefreshRateDenominatorZero = 71, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_UnknownFormatIsInvalidForConfiguration IDXGIOutput_FindClosestMatchingMode_UnknownFormatIsInvalidForConfiguration = 72, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeScanlineOrdering IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeScanlineOrdering = 73, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeScaling IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeScaling = 74, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeFormatAndDeviceCombination IDXGIOutput_FindClosestMatchingMode_InvalidDisplayModeFormatAndDeviceCombination = 75, - /// + /// /// DXGI_MSG_IDXGIFactory_Creation_CalledFromDllMain IDXGIFactory_Creation_CalledFromDllMain = 76, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_OutputNotOwnedBySwapChainDevice IDXGISwapChain_SetFullscreenState_OutputNotOwnedBySwapChainDevice = 77, - /// + /// /// DXGI_MSG_IDXGISwapChain_Creation_InvalidWindowStyle IDXGISwapChain_Creation_InvalidWindowStyle = 78, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetFrameStatistics_UnsupportedStatistics IDXGISwapChain_GetFrameStatistics_UnsupportedStatistics = 79, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetContainingOutput_SwapchainAdapterDoesNotControlOutput IDXGISwapChain_GetContainingOutput_SwapchainAdapterDoesNotControlOutput = 80, - /// + /// /// DXGI_MSG_IDXGIOutput_SetOrGetGammaControl_pArrayIsNULL IDXGIOutput_SetOrGetGammaControl_pArrayIsNULL = 81, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_FullscreenInvalidForChildWindows IDXGISwapChain_SetFullscreenState_FullscreenInvalidForChildWindows = 82, - /// + /// /// DXGI_MSG_IDXGIFactory_Release_CalledFromDllMain IDXGIFactory_Release_CalledFromDllMain = 83, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_UnreleasedHDC IDXGISwapChain_Present_UnreleasedHDC = 84, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_NonPreRotatedAndGDICompatibleFlags IDXGISwapChain_ResizeBuffers_NonPreRotatedAndGDICompatibleFlags = 85, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_NonPreRotatedAndGDICompatibleFlags IDXGIFactory_CreateSwapChain_NonPreRotatedAndGDICompatibleFlags = 86, - /// + /// /// DXGI_MSG_IDXGISurface1_GetDC_pHdcIsNULL IDXGISurface1_GetDC_pHdcIsNULL = 87, - /// + /// /// DXGI_MSG_IDXGISurface1_GetDC_SurfaceNotTexture2D IDXGISurface1_GetDC_SurfaceNotTexture2D = 88, - /// + /// /// DXGI_MSG_IDXGISurface1_GetDC_GDICompatibleFlagNotSet IDXGISurface1_GetDC_GDICompatibleFlagNotSet = 89, - /// + /// /// DXGI_MSG_IDXGISurface1_GetDC_UnreleasedHDC IDXGISurface1_GetDC_UnreleasedHDC = 90, - /// + /// /// DXGI_MSG_IDXGISurface_Map_NoCPUAccess2 IDXGISurface_Map_NoCPUAccess2 = 91, - /// + /// /// DXGI_MSG_IDXGISurface1_ReleaseDC_GetDCNotCalled IDXGISurface1_ReleaseDC_GetDCNotCalled = 92, - /// + /// /// DXGI_MSG_IDXGISurface1_ReleaseDC_InvalidRectangleDimensions IDXGISurface1_ReleaseDC_InvalidRectangleDimensions = 93, - /// + /// /// DXGI_MSG_IDXGIOutput_TakeOwnership_RemoteOutputNotSupported IDXGIOutput_TakeOwnership_RemoteOutputNotSupported = 94, - /// + /// /// DXGI_MSG_IDXGIOutput_FindClosestMatchingMode_RemoteOutputNotSupported IDXGIOutput_FindClosestMatchingMode_RemoteOutputNotSupported = 95, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplayModeList_RemoteOutputNotSupported IDXGIOutput_GetDisplayModeList_RemoteOutputNotSupported = 96, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_pDeviceHasMismatchedDXGIFactory IDXGIFactory_CreateSwapChain_pDeviceHasMismatchedDXGIFactory = 97, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_NonOptimalFSConfiguration IDXGISwapChain_Present_NonOptimalFSConfiguration = 98, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_FlipSequentialNotSupportedOnD3D10 IDXGIFactory_CreateSwapChain_FlipSequentialNotSupportedOnD3D10 = 99, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_BufferCountOOBForFlipSequential IDXGIFactory_CreateSwapChain_BufferCountOOBForFlipSequential = 100, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidFormatForFlipSequential IDXGIFactory_CreateSwapChain_InvalidFormatForFlipSequential = 101, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_MultiSamplingNotSupportedForFlipSequential IDXGIFactory_CreateSwapChain_MultiSamplingNotSupportedForFlipSequential = 102, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_BufferCountOOBForFlipSequential IDXGISwapChain_ResizeBuffers_BufferCountOOBForFlipSequential = 103, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidFormatForFlipSequential IDXGISwapChain_ResizeBuffers_InvalidFormatForFlipSequential = 104, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_PartialPresentationBeforeStandardPresentation IDXGISwapChain_Present_PartialPresentationBeforeStandardPresentation = 105, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_FullscreenPartialPresentIsInvalid IDXGISwapChain_Present_FullscreenPartialPresentIsInvalid = 106, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_InvalidPresentTestOrDoNotSequenceFlag IDXGISwapChain_Present_InvalidPresentTestOrDoNotSequenceFlag = 107, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ScrollInfoWithNoDirtyRectsSpecified IDXGISwapChain_Present_ScrollInfoWithNoDirtyRectsSpecified = 108, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_EmptyScrollRect IDXGISwapChain_Present_EmptyScrollRect = 109, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ScrollRectOutOfBackbufferBounds IDXGISwapChain_Present_ScrollRectOutOfBackbufferBounds = 110, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ScrollRectOutOfBackbufferBoundsWithOffset IDXGISwapChain_Present_ScrollRectOutOfBackbufferBoundsWithOffset = 111, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_EmptyDirtyRect IDXGISwapChain_Present_EmptyDirtyRect = 112, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_DirtyRectOutOfBackbufferBounds IDXGISwapChain_Present_DirtyRectOutOfBackbufferBounds = 113, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_UnsupportedBufferUsageFlags IDXGIFactory_CreateSwapChain_UnsupportedBufferUsageFlags = 114, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_DoNotSequenceFlagSetButPreviousBufferIsUndefined IDXGISwapChain_Present_DoNotSequenceFlagSetButPreviousBufferIsUndefined = 115, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_UnsupportedFlags IDXGISwapChain_Present_UnsupportedFlags = 116, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_FlipModelChainMustResizeOrCreateOnFSTransition IDXGISwapChain_Present_FlipModelChainMustResizeOrCreateOnFSTransition = 117, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_pRestrictToOutputFromOtherIDXGIFactory IDXGIFactory_CreateSwapChain_pRestrictToOutputFromOtherIDXGIFactory = 118, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_RestrictOutputNotSupportedOnAdapter IDXGIFactory_CreateSwapChain_RestrictOutputNotSupportedOnAdapter = 119, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_RestrictToOutputFlagSetButInvalidpRestrictToOutput IDXGISwapChain_Present_RestrictToOutputFlagSetButInvalidpRestrictToOutput = 120, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_RestrictToOutputFlagdWithFullscreen IDXGISwapChain_Present_RestrictToOutputFlagdWithFullscreen = 121, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_RestrictOutputFlagWithStaleSwapChain IDXGISwapChain_Present_RestrictOutputFlagWithStaleSwapChain = 122, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_OtherFlagsCausingInvalidPresentTestFlag IDXGISwapChain_Present_OtherFlagsCausingInvalidPresentTestFlag = 123, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_UnavailableInSession0 IDXGIFactory_CreateSwapChain_UnavailableInSession0 = 124, - /// + /// /// DXGI_MSG_IDXGIFactory_MakeWindowAssociation_UnavailableInSession0 IDXGIFactory_MakeWindowAssociation_UnavailableInSession0 = 125, - /// + /// /// DXGI_MSG_IDXGIFactory_GetWindowAssociation_UnavailableInSession0 IDXGIFactory_GetWindowAssociation_UnavailableInSession0 = 126, - /// + /// /// DXGI_MSG_IDXGIAdapter_EnumOutputs_UnavailableInSession0 IDXGIAdapter_EnumOutputs_UnavailableInSession0 = 127, - /// + /// /// DXGI_MSG_IDXGISwapChain_CreationOrSetFullscreenState_StereoDisabled IDXGISwapChain_CreationOrSetFullscreenState_StereoDisabled = 128, - /// + /// /// DXGI_MSG_IDXGIFactory2_UnregisterStatus_CookieNotFound IDXGIFactory2_UnregisterStatus_CookieNotFound = 129, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ProtectedContentInWindowedModeWithoutFSOrOverlay IDXGISwapChain_Present_ProtectedContentInWindowedModeWithoutFSOrOverlay = 130, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ProtectedContentInWindowedModeWithoutFlipSequential IDXGISwapChain_Present_ProtectedContentInWindowedModeWithoutFlipSequential = 131, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ProtectedContentWithRDPDriver IDXGISwapChain_Present_ProtectedContentWithRDPDriver = 132, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ProtectedContentInWindowedModeWithDWMOffOrInvalidDisplayAffinity IDXGISwapChain_Present_ProtectedContentInWindowedModeWithDWMOffOrInvalidDisplayAffinity = 133, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_WidthOrHeightIsZero IDXGIFactory_CreateSwapChainForComposition_WidthOrHeightIsZero = 134, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_OnlyFlipSequentialSupported IDXGIFactory_CreateSwapChainForComposition_OnlyFlipSequentialSupported = 135, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_UnsupportedOnAdapter IDXGIFactory_CreateSwapChainForComposition_UnsupportedOnAdapter = 136, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_UnsupportedOnWindows7 IDXGIFactory_CreateSwapChainForComposition_UnsupportedOnWindows7 = 137, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_FSTransitionWithCompositionSwapChain IDXGISwapChain_SetFullscreenState_FSTransitionWithCompositionSwapChain = 138, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeTarget_InvalidWithCompositionSwapChain IDXGISwapChain_ResizeTarget_InvalidWithCompositionSwapChain = 139, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_WidthOrHeightIsZero IDXGISwapChain_ResizeBuffers_WidthOrHeightIsZero = 140, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_ScalingNoneIsFlipModelOnly IDXGIFactory_CreateSwapChain_ScalingNoneIsFlipModelOnly = 141, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_ScalingUnrecognized IDXGIFactory_CreateSwapChain_ScalingUnrecognized = 142, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_DisplayOnlyFullscreenUnsupported IDXGIFactory_CreateSwapChain_DisplayOnlyFullscreenUnsupported = 143, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_DisplayOnlyUnsupported IDXGIFactory_CreateSwapChain_DisplayOnlyUnsupported = 144, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_RestartIsFullscreenOnly IDXGISwapChain_Present_RestartIsFullscreenOnly = 145, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_ProtectedWindowlessPresentationRequiresDisplayOnly IDXGISwapChain_Present_ProtectedWindowlessPresentationRequiresDisplayOnly = 146, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_DisplayOnlyUnsupported IDXGISwapChain_SetFullscreenState_DisplayOnlyUnsupported = 147, - /// + /// /// DXGI_MSG_IDXGISwapChain1_SetBackgroundColor_OutOfRange IDXGISwapChain1_SetBackgroundColor_OutOfRange = 148, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_DisplayOnlyFullscreenUnsupported IDXGISwapChain_ResizeBuffers_DisplayOnlyFullscreenUnsupported = 149, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_DisplayOnlyUnsupported IDXGISwapChain_ResizeBuffers_DisplayOnlyUnsupported = 150, - /// + /// /// DXGI_MSG_IDXGISwapchain_Present_ScrollUnsupported IDXGISwapchain_Present_ScrollUnsupported = 151, - /// + /// /// DXGI_MSG_IDXGISwapChain1_SetRotation_UnsupportedOS IDXGISwapChain1_SetRotation_UnsupportedOS = 152, - /// + /// /// DXGI_MSG_IDXGISwapChain1_GetRotation_UnsupportedOS IDXGISwapChain1_GetRotation_UnsupportedOS = 153, - /// + /// /// DXGI_MSG_IDXGISwapchain_Present_FullscreenRotation IDXGISwapchain_Present_FullscreenRotation = 154, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_PartialPresentationWithMSAABuffers IDXGISwapChain_Present_PartialPresentationWithMSAABuffers = 155, - /// + /// /// DXGI_MSG_IDXGISwapChain1_SetRotation_FlipSequentialRequired IDXGISwapChain1_SetRotation_FlipSequentialRequired = 156, - /// + /// /// DXGI_MSG_IDXGISwapChain1_SetRotation_InvalidRotation IDXGISwapChain1_SetRotation_InvalidRotation = 157, - /// + /// /// DXGI_MSG_IDXGISwapChain1_GetRotation_FlipSequentialRequired IDXGISwapChain1_GetRotation_FlipSequentialRequired = 158, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetHwnd_WrongType IDXGISwapChain_GetHwnd_WrongType = 159, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetCompositionSurface_WrongType IDXGISwapChain_GetCompositionSurface_WrongType = 160, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetCoreWindow_WrongType IDXGISwapChain_GetCoreWindow_WrongType = 161, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetFullscreenDesc_NonHwnd IDXGISwapChain_GetFullscreenDesc_NonHwnd = 162, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_CoreWindow IDXGISwapChain_SetFullscreenState_CoreWindow = 163, - /// + /// /// DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_UnsupportedOnWindows7 IDXGIFactory2_CreateSwapChainForCoreWindow_UnsupportedOnWindows7 = 164, - /// + /// /// DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_pWindowIsNULL IDXGIFactory2_CreateSwapChainForCoreWindow_pWindowIsNULL = 165, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_FSUnsupportedForModernApps IDXGIFactory_CreateSwapChain_FSUnsupportedForModernApps = 166, - /// + /// /// DXGI_MSG_IDXGIFactory_MakeWindowAssociation_ModernApp IDXGIFactory_MakeWindowAssociation_ModernApp = 167, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeTarget_ModernApp IDXGISwapChain_ResizeTarget_ModernApp = 168, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeTarget_pNewTargetParametersIsNULL IDXGISwapChain_ResizeTarget_pNewTargetParametersIsNULL = 169, - /// + /// /// DXGI_MSG_IDXGIOutput_SetDisplaySurface_ModernApp IDXGIOutput_SetDisplaySurface_ModernApp = 170, - /// + /// /// DXGI_MSG_IDXGIOutput_TakeOwnership_ModernApp IDXGIOutput_TakeOwnership_ModernApp = 171, - /// + /// /// DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_pWindowIsInvalid IDXGIFactory2_CreateSwapChainForCoreWindow_pWindowIsInvalid = 172, - /// + /// /// DXGI_MSG_IDXGIFactory2_CreateSwapChainForCompositionSurface_InvalidHandle IDXGIFactory2_CreateSwapChainForCompositionSurface_InvalidHandle = 173, - /// + /// /// DXGI_MSG_IDXGISurface1_GetDC_ModernApp IDXGISurface1_GetDC_ModernApp = 174, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_ScalingNoneRequiresWindows8OrNewer IDXGIFactory_CreateSwapChain_ScalingNoneRequiresWindows8OrNewer = 175, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoAndPreferRight IDXGISwapChain_Present_TemporaryMonoAndPreferRight = 176, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoOrPreferRightWithDoNotSequence IDXGISwapChain_Present_TemporaryMonoOrPreferRightWithDoNotSequence = 177, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoOrPreferRightWithoutStereo IDXGISwapChain_Present_TemporaryMonoOrPreferRightWithoutStereo = 178, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_TemporaryMonoUnsupported IDXGISwapChain_Present_TemporaryMonoUnsupported = 179, - /// + /// /// DXGI_MSG_IDXGIOutput_GetDisplaySurfaceData_ArraySizeMismatch IDXGIOutput_GetDisplaySurfaceData_ArraySizeMismatch = 180, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_PartialPresentationWithSwapEffectDiscard IDXGISwapChain_Present_PartialPresentationWithSwapEffectDiscard = 181, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_AlphaUnrecognized IDXGIFactory_CreateSwapChain_AlphaUnrecognized = 182, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_AlphaIsWindowlessOnly IDXGIFactory_CreateSwapChain_AlphaIsWindowlessOnly = 183, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_AlphaIsFlipModelOnly IDXGIFactory_CreateSwapChain_AlphaIsFlipModelOnly = 184, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_RestrictToOutputAdapterMismatch IDXGIFactory_CreateSwapChain_RestrictToOutputAdapterMismatch = 185, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_DisplayOnlyOnLegacy IDXGIFactory_CreateSwapChain_DisplayOnlyOnLegacy = 186, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_DisplayOnlyOnLegacy IDXGISwapChain_ResizeBuffers_DisplayOnlyOnLegacy = 187, - /// + /// /// DXGI_MSG_IDXGIResource1_CreateSubresourceSurface_InvalidIndex IDXGIResource1_CreateSubresourceSurface_InvalidIndex = 188, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_InvalidScaling IDXGIFactory_CreateSwapChainForComposition_InvalidScaling = 189, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForCoreWindow_InvalidSwapEffect IDXGIFactory_CreateSwapChainForCoreWindow_InvalidSwapEffect = 190, - /// + /// /// DXGI_MSG_IDXGIResource1_CreateSharedHandle_UnsupportedOS IDXGIResource1_CreateSharedHandle_UnsupportedOS = 191, - /// + /// /// DXGI_MSG_IDXGIFactory2_RegisterOcclusionStatusWindow_UnsupportedOS IDXGIFactory2_RegisterOcclusionStatusWindow_UnsupportedOS = 192, - /// + /// /// DXGI_MSG_IDXGIFactory2_RegisterOcclusionStatusEvent_UnsupportedOS IDXGIFactory2_RegisterOcclusionStatusEvent_UnsupportedOS = 193, - /// + /// /// DXGI_MSG_IDXGIOutput1_DuplicateOutput_UnsupportedOS IDXGIOutput1_DuplicateOutput_UnsupportedOS = 194, - /// + /// /// DXGI_MSG_IDXGIDisplayControl_IsStereoEnabled_UnsupportedOS IDXGIDisplayControl_IsStereoEnabled_UnsupportedOS = 195, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForComposition_InvalidAlphaMode IDXGIFactory_CreateSwapChainForComposition_InvalidAlphaMode = 196, - /// + /// /// DXGI_MSG_IDXGIFactory_GetSharedResourceAdapterLuid_InvalidResource IDXGIFactory_GetSharedResourceAdapterLuid_InvalidResource = 197, - /// + /// /// DXGI_MSG_IDXGIFactory_GetSharedResourceAdapterLuid_InvalidLUID IDXGIFactory_GetSharedResourceAdapterLuid_InvalidLUID = 198, - /// + /// /// DXGI_MSG_IDXGIFactory_GetSharedResourceAdapterLuid_UnsupportedOS IDXGIFactory_GetSharedResourceAdapterLuid_UnsupportedOS = 199, - /// + /// /// DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_2DOnly IDXGIOutput1_GetDisplaySurfaceData1_2DOnly = 200, - /// + /// /// DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_StagingOnly IDXGIOutput1_GetDisplaySurfaceData1_StagingOnly = 201, - /// + /// /// DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_NeedCPUAccessWrite IDXGIOutput1_GetDisplaySurfaceData1_NeedCPUAccessWrite = 202, - /// + /// /// DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_NoShared IDXGIOutput1_GetDisplaySurfaceData1_NoShared = 203, - /// + /// /// DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_OnlyMipLevels1 IDXGIOutput1_GetDisplaySurfaceData1_OnlyMipLevels1 = 204, - /// + /// /// DXGI_MSG_IDXGIOutput1_GetDisplaySurfaceData1_MappedOrOfferedResource IDXGIOutput1_GetDisplaySurfaceData1_MappedOrOfferedResource = 205, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_FSUnsupportedForModernApps IDXGISwapChain_SetFullscreenState_FSUnsupportedForModernApps = 206, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_FailedToGoFSButNonPreRotated IDXGIFactory_CreateSwapChain_FailedToGoFSButNonPreRotated = 207, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainOrRegisterOcclusionStatus_BlitModelUsedWhileRegisteredForOcclusionStatusEvents IDXGIFactory_CreateSwapChainOrRegisterOcclusionStatus_BlitModelUsedWhileRegisteredForOcclusionStatusEvents = 208, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_BlitModelUsedWhileRegisteredForOcclusionStatusEvents IDXGISwapChain_Present_BlitModelUsedWhileRegisteredForOcclusionStatusEvents = 209, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_WaitableSwapChainsAreFlipModelOnly IDXGIFactory_CreateSwapChain_WaitableSwapChainsAreFlipModelOnly = 210, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_WaitableSwapChainsAreNotFullscreen IDXGIFactory_CreateSwapChain_WaitableSwapChainsAreNotFullscreen = 211, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_Waitable IDXGISwapChain_SetFullscreenState_Waitable = 212, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveWaitableFlag IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveWaitableFlag = 213, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetFrameLatencyWaitableObject_OnlyWaitable IDXGISwapChain_GetFrameLatencyWaitableObject_OnlyWaitable = 214, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetMaximumFrameLatency_OnlyWaitable IDXGISwapChain_GetMaximumFrameLatency_OnlyWaitable = 215, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetMaximumFrameLatency_pMaxLatencyIsNULL IDXGISwapChain_GetMaximumFrameLatency_pMaxLatencyIsNULL = 216, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetMaximumFrameLatency_OnlyWaitable IDXGISwapChain_SetMaximumFrameLatency_OnlyWaitable = 217, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetMaximumFrameLatency_MaxLatencyIsOutOfBounds IDXGISwapChain_SetMaximumFrameLatency_MaxLatencyIsOutOfBounds = 218, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_ForegroundIsCoreWindowOnly IDXGIFactory_CreateSwapChain_ForegroundIsCoreWindowOnly = 219, - /// + /// /// DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_ForegroundUnsupportedOnAdapter IDXGIFactory2_CreateSwapChainForCoreWindow_ForegroundUnsupportedOnAdapter = 220, - /// + /// /// DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_InvalidScaling IDXGIFactory2_CreateSwapChainForCoreWindow_InvalidScaling = 221, - /// + /// /// DXGI_MSG_IDXGIFactory2_CreateSwapChainForCoreWindow_InvalidAlphaMode IDXGIFactory2_CreateSwapChainForCoreWindow_InvalidAlphaMode = 222, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveForegroundFlag IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveForegroundFlag = 223, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetMatrixTransform_MatrixPointerCannotBeNull IDXGISwapChain_SetMatrixTransform_MatrixPointerCannotBeNull = 224, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetMatrixTransform_RequiresCompositionSwapChain IDXGISwapChain_SetMatrixTransform_RequiresCompositionSwapChain = 225, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetMatrixTransform_MatrixMustBeFinite IDXGISwapChain_SetMatrixTransform_MatrixMustBeFinite = 226, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetMatrixTransform_MatrixMustBeTranslateAndOrScale IDXGISwapChain_SetMatrixTransform_MatrixMustBeTranslateAndOrScale = 227, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetMatrixTransform_MatrixPointerCannotBeNull IDXGISwapChain_GetMatrixTransform_MatrixPointerCannotBeNull = 228, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetMatrixTransform_RequiresCompositionSwapChain IDXGISwapChain_GetMatrixTransform_RequiresCompositionSwapChain = 229, - /// + /// /// DXGI_MSG_DXGIGetDebugInterface1_NULL_ppDebug DXGIGetDebugInterface1_NULL_ppDebug = 230, - /// + /// /// DXGI_MSG_DXGIGetDebugInterface1_InvalidFlags DXGIGetDebugInterface1_InvalidFlags = 231, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_Decode IDXGISwapChain_Present_Decode = 232, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_Decode IDXGISwapChain_ResizeBuffers_Decode = 233, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetSourceSize_FlipModel IDXGISwapChain_SetSourceSize_FlipModel = 234, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetSourceSize_Decode IDXGISwapChain_SetSourceSize_Decode = 235, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetSourceSize_WidthHeight IDXGISwapChain_SetSourceSize_WidthHeight = 236, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetSourceSize_NullPointers IDXGISwapChain_GetSourceSize_NullPointers = 237, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetSourceSize_Decode IDXGISwapChain_GetSourceSize_Decode = 238, - /// + /// /// DXGI_MSG_IDXGIDecodeSwapChain_SetColorSpace_InvalidFlags IDXGIDecodeSwapChain_SetColorSpace_InvalidFlags = 239, - /// + /// /// DXGI_MSG_IDXGIDecodeSwapChain_SetSourceRect_InvalidRect IDXGIDecodeSwapChain_SetSourceRect_InvalidRect = 240, - /// + /// /// DXGI_MSG_IDXGIDecodeSwapChain_SetTargetRect_InvalidRect IDXGIDecodeSwapChain_SetTargetRect_InvalidRect = 241, - /// + /// /// DXGI_MSG_IDXGIDecodeSwapChain_SetDestSize_InvalidSize IDXGIDecodeSwapChain_SetDestSize_InvalidSize = 242, - /// + /// /// DXGI_MSG_IDXGIDecodeSwapChain_GetSourceRect_InvalidPointer IDXGIDecodeSwapChain_GetSourceRect_InvalidPointer = 243, - /// + /// /// DXGI_MSG_IDXGIDecodeSwapChain_GetTargetRect_InvalidPointer IDXGIDecodeSwapChain_GetTargetRect_InvalidPointer = 244, - /// + /// /// DXGI_MSG_IDXGIDecodeSwapChain_GetDestSize_InvalidPointer IDXGIDecodeSwapChain_GetDestSize_InvalidPointer = 245, - /// + /// /// DXGI_MSG_IDXGISwapChain_PresentBuffer_YUV IDXGISwapChain_PresentBuffer_YUV = 246, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetSourceSize_YUV IDXGISwapChain_SetSourceSize_YUV = 247, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetSourceSize_YUV IDXGISwapChain_GetSourceSize_YUV = 248, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetMatrixTransform_YUV IDXGISwapChain_SetMatrixTransform_YUV = 249, - /// + /// /// DXGI_MSG_IDXGISwapChain_GetMatrixTransform_YUV IDXGISwapChain_GetMatrixTransform_YUV = 250, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_PartialPresentation_YUV IDXGISwapChain_Present_PartialPresentation_YUV = 251, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveFlag_YUV IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveFlag_YUV = 252, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_Alignment_YUV IDXGISwapChain_ResizeBuffers_Alignment_YUV = 253, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_ShaderInputUnsupported_YUV IDXGIFactory_CreateSwapChain_ShaderInputUnsupported_YUV = 254, - /// + /// /// DXGI_MSG_IDXGIOutput3_CheckOverlaySupport_NullPointers IDXGIOutput3_CheckOverlaySupport_NullPointers = 255, - /// + /// /// DXGI_MSG_IDXGIOutput3_CheckOverlaySupport_IDXGIDeviceNotSupportedBypConcernedDevice IDXGIOutput3_CheckOverlaySupport_IDXGIDeviceNotSupportedBypConcernedDevice = 256, - /// + /// /// DXGI_MSG_IDXGIAdapter_EnumOutputs2_InvalidEnumOutputs2Flag IDXGIAdapter_EnumOutputs2_InvalidEnumOutputs2Flag = 257, - /// + /// /// DXGI_MSG_IDXGISwapChain_CreationOrSetFullscreenState_FSUnsupportedForFlipDiscard IDXGISwapChain_CreationOrSetFullscreenState_FSUnsupportedForFlipDiscard = 258, - /// + /// /// DXGI_MSG_IDXGIOutput4_CheckOverlayColorSpaceSupport_NullPointers IDXGIOutput4_CheckOverlayColorSpaceSupport_NullPointers = 259, - /// + /// /// DXGI_MSG_IDXGIOutput4_CheckOverlayColorSpaceSupport_IDXGIDeviceNotSupportedBypConcernedDevice IDXGIOutput4_CheckOverlayColorSpaceSupport_IDXGIDeviceNotSupportedBypConcernedDevice = 260, - /// + /// /// DXGI_MSG_IDXGISwapChain3_CheckColorSpaceSupport_NullPointers IDXGISwapChain3_CheckColorSpaceSupport_NullPointers = 261, - /// + /// /// DXGI_MSG_IDXGISwapChain3_SetColorSpace1_InvalidColorSpace IDXGISwapChain3_SetColorSpace1_InvalidColorSpace = 262, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidHwProtect IDXGIFactory_CreateSwapChain_InvalidHwProtect = 263, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_HwProtectUnsupported IDXGIFactory_CreateSwapChain_HwProtectUnsupported = 264, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidHwProtect IDXGISwapChain_ResizeBuffers_InvalidHwProtect = 265, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_HwProtectUnsupported IDXGISwapChain_ResizeBuffers_HwProtectUnsupported = 266, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers1_D3D12Only IDXGISwapChain_ResizeBuffers1_D3D12Only = 267, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers1_FlipModel IDXGISwapChain_ResizeBuffers1_FlipModel = 268, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers1_NodeMaskAndQueueRequired IDXGISwapChain_ResizeBuffers1_NodeMaskAndQueueRequired = 269, - /// + /// /// DXGI_MSG_IDXGISwapChain_CreateSwapChain_InvalidHwProtectGdiFlag IDXGISwapChain_CreateSwapChain_InvalidHwProtectGdiFlag = 270, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_InvalidHwProtectGdiFlag IDXGISwapChain_ResizeBuffers_InvalidHwProtectGdiFlag = 271, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_10BitFormatNotSupported IDXGIFactory_CreateSwapChain_10BitFormatNotSupported = 272, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_FlipSwapEffectRequired IDXGIFactory_CreateSwapChain_FlipSwapEffectRequired = 273, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidDevice IDXGIFactory_CreateSwapChain_InvalidDevice = 274, - /// + /// /// DXGI_MSG_IDXGIOutput_TakeOwnership_Unsupported IDXGIOutput_TakeOwnership_Unsupported = 275, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_InvalidQueue IDXGIFactory_CreateSwapChain_InvalidQueue = 276, - /// + /// /// DXGI_MSG_IDXGISwapChain3_ResizeBuffers1_InvalidQueue IDXGISwapChain3_ResizeBuffers1_InvalidQueue = 277, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChainForHwnd_InvalidScaling IDXGIFactory_CreateSwapChainForHwnd_InvalidScaling = 278, - /// + /// /// DXGI_MSG_IDXGISwapChain3_SetHDRMetaData_InvalidSize IDXGISwapChain3_SetHDRMetaData_InvalidSize = 279, - /// + /// /// DXGI_MSG_IDXGISwapChain3_SetHDRMetaData_InvalidPointer IDXGISwapChain3_SetHDRMetaData_InvalidPointer = 280, - /// + /// /// DXGI_MSG_IDXGISwapChain3_SetHDRMetaData_InvalidType IDXGISwapChain3_SetHDRMetaData_InvalidType = 281, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_FullscreenAllowTearingIsInvalid IDXGISwapChain_Present_FullscreenAllowTearingIsInvalid = 282, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_AllowTearingRequiresPresentIntervalZero IDXGISwapChain_Present_AllowTearingRequiresPresentIntervalZero = 283, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_AllowTearingRequiresCreationFlag IDXGISwapChain_Present_AllowTearingRequiresCreationFlag = 284, - /// + /// /// DXGI_MSG_IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveAllowTearingFlag IDXGISwapChain_ResizeBuffers_CannotAddOrRemoveAllowTearingFlag = 285, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_AllowTearingFlagIsFlipModelOnly IDXGIFactory_CreateSwapChain_AllowTearingFlagIsFlipModelOnly = 286, - /// + /// /// DXGI_MSG_IDXGIFactory_CheckFeatureSupport_InvalidFeature IDXGIFactory_CheckFeatureSupport_InvalidFeature = 287, - /// + /// /// DXGI_MSG_IDXGIFactory_CheckFeatureSupport_InvalidSize IDXGIFactory_CheckFeatureSupport_InvalidSize = 288, - /// + /// /// DXGI_MSG_IDXGIOutput6_CheckHardwareCompositionSupport_NullPointer IDXGIOutput6_CheckHardwareCompositionSupport_NullPointer = 289, - /// + /// /// DXGI_MSG_IDXGISwapChain_SetFullscreenState_PerMonitorDpiShimApplied IDXGISwapChain_SetFullscreenState_PerMonitorDpiShimApplied = 290, - /// + /// /// DXGI_MSG_IDXGIOutput_DuplicateOutput_PerMonitorDpiShimApplied IDXGIOutput_DuplicateOutput_PerMonitorDpiShimApplied = 291, - /// + /// /// DXGI_MSG_IDXGIOutput_DuplicateOutput1_PerMonitorDpiRequired IDXGIOutput_DuplicateOutput1_PerMonitorDpiRequired = 292, - /// + /// /// DXGI_MSG_IDXGIFactory7_UnregisterAdaptersChangedEvent_CookieNotFound IDXGIFactory7_UnregisterAdaptersChangedEvent_CookieNotFound = 293, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_LegacyBltModelSwapEffect IDXGIFactory_CreateSwapChain_LegacyBltModelSwapEffect = 294, - /// + /// /// DXGI_MSG_IDXGISwapChain4_SetHDRMetaData_MetadataUnchanged IDXGISwapChain4_SetHDRMetaData_MetadataUnchanged = 295, - /// + /// /// DXGI_MSG_IDXGISwapChain_Present_11On12_Released_Resource IDXGISwapChain_Present_11On12_Released_Resource = 296, - /// + /// /// DXGI_MSG_IDXGIFactory_CreateSwapChain_MultipleSwapchainRefToSurface_DeferredDtr IDXGIFactory_CreateSwapChain_MultipleSwapchainRefToSurface_DeferredDtr = 297, - /// + /// /// DXGI_MSG_IDXGIFactory_MakeWindowAssociation_NoOpBehavior IDXGIFactory_MakeWindowAssociation_NoOpBehavior = 298, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_NotForegroundWindow Phone_IDXGIFactory_CreateSwapChain_NotForegroundWindow = 1000, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_DISCARD_BufferCount Phone_IDXGIFactory_CreateSwapChain_DISCARD_BufferCount = 1001, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_SetFullscreenState_NotAvailable Phone_IDXGISwapChain_SetFullscreenState_NotAvailable = 1002, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_ResizeBuffers_NotAvailable Phone_IDXGISwapChain_ResizeBuffers_NotAvailable = 1003, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_ResizeTarget_NotAvailable Phone_IDXGISwapChain_ResizeTarget_NotAvailable = 1004, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidLayerIndex Phone_IDXGISwapChain_Present_InvalidLayerIndex = 1005, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_MultipleLayerIndex Phone_IDXGISwapChain_Present_MultipleLayerIndex = 1006, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidLayerFlag Phone_IDXGISwapChain_Present_InvalidLayerFlag = 1007, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidRotation Phone_IDXGISwapChain_Present_InvalidRotation = 1008, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidBlend Phone_IDXGISwapChain_Present_InvalidBlend = 1009, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidResource Phone_IDXGISwapChain_Present_InvalidResource = 1010, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidMultiPlaneOverlayResource Phone_IDXGISwapChain_Present_InvalidMultiPlaneOverlayResource = 1011, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidIndexForPrimary Phone_IDXGISwapChain_Present_InvalidIndexForPrimary = 1012, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidIndexForOverlay Phone_IDXGISwapChain_Present_InvalidIndexForOverlay = 1013, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidSubResourceIndex Phone_IDXGISwapChain_Present_InvalidSubResourceIndex = 1014, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidSourceRect Phone_IDXGISwapChain_Present_InvalidSourceRect = 1015, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidDestinationRect Phone_IDXGISwapChain_Present_InvalidDestinationRect = 1016, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_MultipleResource Phone_IDXGISwapChain_Present_MultipleResource = 1017, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_NotSharedResource Phone_IDXGISwapChain_Present_NotSharedResource = 1018, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidFlag Phone_IDXGISwapChain_Present_InvalidFlag = 1019, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_InvalidInterval Phone_IDXGISwapChain_Present_InvalidInterval = 1020, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_MSAA_NotSupported Phone_IDXGIFactory_CreateSwapChain_MSAA_NotSupported = 1021, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_ScalingAspectRatioStretch_Supported_ModernApp Phone_IDXGIFactory_CreateSwapChain_ScalingAspectRatioStretch_Supported_ModernApp = 1022, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_GetFrameStatistics_NotAvailable_ModernApp Phone_IDXGISwapChain_GetFrameStatistics_NotAvailable_ModernApp = 1023, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present_ReplaceInterval0With1 Phone_IDXGISwapChain_Present_ReplaceInterval0With1 = 1024, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_FailedRegisterWithCompositor Phone_IDXGIFactory_CreateSwapChain_FailedRegisterWithCompositor = 1025, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_NotForegroundWindow_AtRendering Phone_IDXGIFactory_CreateSwapChain_NotForegroundWindow_AtRendering = 1026, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_FLIP_SEQUENTIAL_BufferCount Phone_IDXGIFactory_CreateSwapChain_FLIP_SEQUENTIAL_BufferCount = 1027, - /// + /// /// DXGI_MSG_Phone_IDXGIFactory_CreateSwapChain_FLIP_Modern_CoreWindow_Only Phone_IDXGIFactory_CreateSwapChain_FLIP_Modern_CoreWindow_Only = 1028, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_Present1_RequiresOverlays Phone_IDXGISwapChain_Present1_RequiresOverlays = 1029, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_SetBackgroundColor_FlipSequentialRequired Phone_IDXGISwapChain_SetBackgroundColor_FlipSequentialRequired = 1030, - /// + /// /// DXGI_MSG_Phone_IDXGISwapChain_GetBackgroundColor_FlipSequentialRequired Phone_IDXGISwapChain_GetBackgroundColor_FlipSequentialRequired = 1031, } @@ -1637,713 +1637,713 @@ public enum WindowAssociationFlags : uint #endregion Generated Enums #region Structs -/// +/// /// DXGI_RGBA public partial struct Rgba { - /// + /// public float r; - /// + /// public float g; - /// + /// public float b; - /// + /// public float a; } -/// +/// /// DXGI_FRAME_STATISTICS public partial struct FrameStatistics { - /// + /// public uint PresentCount; - /// + /// public uint PresentRefreshCount; - /// + /// public uint SyncRefreshCount; - /// + /// public LargeInterger SyncQPCTime; - /// + /// public LargeInterger SyncGPUTime; } -/// +/// /// DXGI_MAPPED_RECT public partial struct MappedRect { - /// + /// public int Pitch; - /// + /// public unsafe byte* pBits; } -/// +/// /// DXGI_ADAPTER_DESC public partial struct AdapterDescription { - /// + /// public unsafe fixed ushort Description[128]; - /// + /// public uint VendorId; - /// + /// public uint DeviceId; - /// + /// public uint SubSysId; - /// + /// public uint Revision; - /// + /// public nuint DedicatedVideoMemory; - /// + /// public nuint DedicatedSystemMemory; - /// + /// public nuint SharedSystemMemory; - /// + /// public Luid AdapterLuid; } -/// +/// /// DXGI_OUTPUT_DESC public partial struct OutputDescription { - /// + /// public unsafe fixed ushort DeviceName[32]; - /// + /// public RawRect DesktopCoordinates; - /// + /// public Bool32 AttachedToDesktop; - /// + /// public Common.ModeRotation Rotation; - /// + /// public IntPtr Monitor; } -/// +/// /// DXGI_SHARED_RESOURCE public partial struct SharedResource { - /// + /// public IntPtr Handle; } -/// +/// /// DXGI_SURFACE_DESC public partial struct SurfaceDescription { - /// + /// public uint Width; - /// + /// public uint Height; - /// + /// public Common.Format Format; - /// + /// public Common.SampleDescription SampleDesc; } -/// +/// /// DXGI_SWAP_CHAIN_DESC public partial struct SwapChainDescription { - /// + /// public Common.ModeDescription BufferDesc; - /// + /// public Common.SampleDescription SampleDesc; - /// + /// public Usage BufferUsage; - /// + /// public uint BufferCount; - /// + /// public IntPtr OutputWindow; - /// + /// public Bool32 Windowed; - /// + /// public SwapEffect SwapEffect; - /// + /// public SwapChainFlags Flags; } -/// +/// /// DXGI_ADAPTER_DESC1 public partial struct AdapterDescription1 { - /// + /// public unsafe fixed ushort Description[128]; - /// + /// public uint VendorId; - /// + /// public uint DeviceId; - /// + /// public uint SubSysId; - /// + /// public uint Revision; - /// + /// public nuint DedicatedVideoMemory; - /// + /// public nuint DedicatedSystemMemory; - /// + /// public nuint SharedSystemMemory; - /// + /// public Luid AdapterLuid; - /// + /// public AdapterFlags Flags; } -/// +/// /// DXGI_DISPLAY_COLOR_SPACE public partial struct DisplayColorSpace { - /// + /// public unsafe fixed float PrimaryCoordinates[16]; - /// + /// public unsafe fixed float WhitePoints[32]; } -/// +/// /// DXGI_OUTDUPL_MOVE_RECT public partial struct OutduplMoveRect { - /// + /// public System.Drawing.Point SourcePoint; - /// + /// public RawRect DestinationRect; } -/// +/// /// DXGI_OUTDUPL_DESC public partial struct OutduplDescription { - /// + /// public Common.ModeDescription ModeDesc; - /// + /// public Common.ModeRotation Rotation; - /// + /// public Bool32 DesktopImageInSystemMemory; } -/// +/// /// DXGI_OUTDUPL_POINTER_POSITION public partial struct OutduplPointerPosition { - /// + /// public System.Drawing.Point Position; - /// + /// public Bool32 Visible; } -/// +/// /// DXGI_OUTDUPL_POINTER_SHAPE_INFO public partial struct OutduplPointerShapeInfo { - /// + /// public uint Type; - /// + /// public uint Width; - /// + /// public uint Height; - /// + /// public uint Pitch; - /// + /// public System.Drawing.Point HotSpot; } -/// +/// /// DXGI_OUTDUPL_FRAME_INFO public partial struct OutduplFrameInfo { - /// + /// public LargeInterger LastPresentTime; - /// + /// public LargeInterger LastMouseUpdateTime; - /// + /// public uint AccumulatedFrames; - /// + /// public Bool32 RectsCoalesced; - /// + /// public Bool32 ProtectedContentMaskedOut; - /// + /// public OutduplPointerPosition PointerPosition; - /// + /// public uint TotalMetadataBufferSize; - /// + /// public uint PointerShapeBufferSize; } -/// +/// /// DXGI_MODE_DESC1 public partial struct ModeDescription1 { - /// + /// public uint Width; - /// + /// public uint Height; - /// + /// public Common.Rational RefreshRate; - /// + /// public Common.Format Format; - /// + /// public Common.ModeScanlineOrder ScanlineOrdering; - /// + /// public Common.ModeScaling Scaling; - /// + /// public Bool32 Stereo; } -/// +/// /// DXGI_SWAP_CHAIN_DESC1 public partial struct SwapChainDescription1 { - /// + /// public uint Width; - /// + /// public uint Height; - /// + /// public Common.Format Format; - /// + /// public Bool32 Stereo; - /// + /// public Common.SampleDescription SampleDesc; - /// + /// public Usage BufferUsage; - /// + /// public uint BufferCount; - /// + /// public Scaling Scaling; - /// + /// public SwapEffect SwapEffect; - /// + /// public Common.AlphaMode AlphaMode; - /// + /// public SwapChainFlags Flags; } -/// +/// /// DXGI_SWAP_CHAIN_FULLSCREEN_DESC public partial struct SwapChainFullscreenDescription { - /// + /// public Common.Rational RefreshRate; - /// + /// public Common.ModeScanlineOrder ScanlineOrdering; - /// + /// public Common.ModeScaling Scaling; - /// + /// public Bool32 Windowed; } -/// +/// /// DXGI_PRESENT_PARAMETERS public partial struct PresentParameters { - /// + /// public uint DirtyRectsCount; - /// + /// public unsafe RawRect* pDirtyRects; - /// + /// public unsafe RawRect* pScrollRect; - /// + /// public unsafe System.Drawing.Point* pScrollOffset; } -/// +/// /// DXGI_ADAPTER_DESC2 public partial struct AdapterDescription2 { - /// + /// public unsafe fixed ushort Description[128]; - /// + /// public uint VendorId; - /// + /// public uint DeviceId; - /// + /// public uint SubSysId; - /// + /// public uint Revision; - /// + /// public nuint DedicatedVideoMemory; - /// + /// public nuint DedicatedSystemMemory; - /// + /// public nuint SharedSystemMemory; - /// + /// public Luid AdapterLuid; - /// + /// public uint Flags; - /// + /// public GraphicsPreemptionGranularity GraphicsPreemptionGranularity; - /// + /// public ComputePreemptionGranularity ComputePreemptionGranularity; } -/// +/// /// DXGI_MATRIX_3X2_F public partial struct Matrix3x2F { - /// + /// public float _11; - /// + /// public float _12; - /// + /// public float _21; - /// + /// public float _22; - /// + /// public float _31; - /// + /// public float _32; } -/// +/// /// DXGI_DECODE_SWAP_CHAIN_DESC public partial struct DecodeSwapChainDescription { - /// + /// public uint Flags; } -/// +/// /// DXGI_FRAME_STATISTICS_MEDIA public partial struct FrameStatisticsMedia { - /// + /// public uint PresentCount; - /// + /// public uint PresentRefreshCount; - /// + /// public uint SyncRefreshCount; - /// + /// public LargeInterger SyncQPCTime; - /// + /// public LargeInterger SyncGPUTime; - /// + /// public FramePresentationMode CompositionMode; - /// + /// public uint ApprovedPresentDuration; } -/// +/// /// DXGI_QUERY_VIDEO_MEMORY_INFO public partial struct QueryVideoMemoryInfo { - /// + /// public ulong Budget; - /// + /// public ulong CurrentUsage; - /// + /// public ulong AvailableForReservation; - /// + /// public ulong CurrentReservation; } -/// +/// /// DXGI_HDR_METADATA_HDR10 public partial struct HdrMetadataHdr10 { - /// + /// public unsafe fixed ushort RedPrimary[2]; - /// + /// public unsafe fixed ushort GreenPrimary[2]; - /// + /// public unsafe fixed ushort BluePrimary[2]; - /// + /// public unsafe fixed ushort WhitePoint[2]; - /// + /// public uint MaxMasteringLuminance; - /// + /// public uint MinMasteringLuminance; - /// + /// public ushort MaxContentLightLevel; - /// + /// public ushort MaxFrameAverageLightLevel; } -/// +/// /// DXGI_HDR_METADATA_HDR10PLUS public partial struct HdrMetadataHdr10plus { - /// + /// public unsafe fixed byte Data[72]; } -/// +/// /// DXGI_ADAPTER_DESC3 public partial struct AdapterDescription3 { - /// + /// public unsafe fixed ushort Description[128]; - /// + /// public uint VendorId; - /// + /// public uint DeviceId; - /// + /// public uint SubSysId; - /// + /// public uint Revision; - /// + /// public nuint DedicatedVideoMemory; - /// + /// public nuint DedicatedSystemMemory; - /// + /// public nuint SharedSystemMemory; - /// + /// public Luid AdapterLuid; - /// + /// public AdapterFlags3 Flags; - /// + /// public GraphicsPreemptionGranularity GraphicsPreemptionGranularity; - /// + /// public ComputePreemptionGranularity ComputePreemptionGranularity; } -/// +/// /// DXGI_OUTPUT_DESC1 public partial struct OutputDescription1 { - /// + /// public unsafe fixed ushort DeviceName[32]; - /// + /// public RawRect DesktopCoordinates; - /// + /// public Bool32 AttachedToDesktop; - /// + /// public Common.ModeRotation Rotation; - /// + /// public IntPtr Monitor; - /// + /// public uint BitsPerColor; - /// + /// public Common.ColorSpaceType ColorSpace; - /// + /// public unsafe fixed float RedPrimary[2]; - /// + /// public unsafe fixed float GreenPrimary[2]; - /// + /// public unsafe fixed float BluePrimary[2]; - /// + /// public unsafe fixed float WhitePoint[2]; - /// + /// public float MinLuminance; - /// + /// public float MaxLuminance; - /// + /// public float MaxFullFrameLuminance; } -/// +/// /// DXGI_INFO_QUEUE_MESSAGE public partial struct InfoQueueMessage { - /// + /// public Guid Producer; - /// + /// public InfoQueueMessageCategory Category; - /// + /// public InfoQueueMessageSeverity Severity; - /// + /// public int ID; - /// + /// public unsafe byte* pDescription; - /// + /// public nuint DescriptionByteLength; } -/// +/// /// DXGI_INFO_QUEUE_FILTER_DESC public partial struct InfoQueueFilterDescription { - /// + /// public uint NumCategories; - /// + /// public unsafe InfoQueueMessageCategory* pCategoryList; - /// + /// public uint NumSeverities; - /// + /// public unsafe InfoQueueMessageSeverity* pSeverityList; - /// + /// public uint NumIDs; - /// + /// public unsafe int* pIDList; } -/// +/// /// DXGI_INFO_QUEUE_FILTER public partial struct InfoQueueFilter { - /// + /// public InfoQueueFilterDescription AllowList; - /// + /// public InfoQueueFilterDescription DenyList; } @@ -2351,7 +2351,7 @@ public partial struct InfoQueueFilter #endregion Structs #region COM Types -/// +/// /// IDXGIObject [Guid("aec22fb8-76f3-4639-9be0-28eb43a67a2e")] [NativeTypeName("struct IDXGIObject : IUnknown")] @@ -2412,7 +2412,7 @@ public unsafe partial struct IDXGIObject : IDXGIObject.Interface return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData) @@ -2424,7 +2424,7 @@ public unsafe partial struct IDXGIObject : IDXGIObject.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown) @@ -2436,7 +2436,7 @@ public unsafe partial struct IDXGIObject : IDXGIObject.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData) @@ -2448,7 +2448,7 @@ public unsafe partial struct IDXGIObject : IDXGIObject.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult GetParent(Guid* riid, void** ppParent) @@ -2465,7 +2465,7 @@ public unsafe partial struct IDXGIObject : IDXGIObject.Interface } } -/// +/// /// IDXGIDeviceSubObject [Guid("3d3e0379-f9de-4d58-bb6c-18d62992f1a6")] [NativeTypeName("struct IDXGIDeviceSubObject : IDXGIObject")] @@ -2574,7 +2574,7 @@ public unsafe partial struct IDXGIDeviceSubObject : IDXGIDeviceSubObject.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetDevice(Guid* riid, void** ppDevice) @@ -2591,7 +2591,7 @@ public unsafe partial struct IDXGIDeviceSubObject : IDXGIDeviceSubObject.Interfa } } -/// +/// /// IDXGIResource [Guid("035f3ab4-482e-4e50-b41f-8a7f8bd8960b")] [NativeTypeName("struct IDXGIResource : IDXGIDeviceSubObject")] @@ -2712,7 +2712,7 @@ public unsafe partial struct IDXGIResource : IDXGIResource.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult GetSharedHandle(IntPtr* pSharedHandle) @@ -2724,7 +2724,7 @@ public unsafe partial struct IDXGIResource : IDXGIResource.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult GetUsage(uint* pUsage) @@ -2736,7 +2736,7 @@ public unsafe partial struct IDXGIResource : IDXGIResource.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult SetEvictionPriority(ResourcePriority EvictionPriority) @@ -2748,7 +2748,7 @@ public unsafe partial struct IDXGIResource : IDXGIResource.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetEvictionPriority(uint* pEvictionPriority) @@ -2765,7 +2765,7 @@ public unsafe partial struct IDXGIResource : IDXGIResource.Interface } } -/// +/// /// IDXGIKeyedMutex [Guid("9d8e1289-d7b3-465f-8126-250e349af85d")] [NativeTypeName("struct IDXGIKeyedMutex : IDXGIDeviceSubObject")] @@ -2886,7 +2886,7 @@ public unsafe partial struct IDXGIKeyedMutex : IDXGIKeyedMutex.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult AcquireSync(ulong Key, uint dwMilliseconds) @@ -2898,7 +2898,7 @@ public unsafe partial struct IDXGIKeyedMutex : IDXGIKeyedMutex.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult ReleaseSync(ulong Key) @@ -2915,7 +2915,7 @@ public unsafe partial struct IDXGIKeyedMutex : IDXGIKeyedMutex.Interface } } -/// +/// /// IDXGISurface [Guid("cafcb56c-6ac3-4889-bf47-9e23bbd260ec")] [NativeTypeName("struct IDXGISurface : IDXGIDeviceSubObject")] @@ -3036,7 +3036,7 @@ public unsafe partial struct IDXGISurface : IDXGISurface.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult GetDesc(SurfaceDescription* pDesc) @@ -3048,7 +3048,7 @@ public unsafe partial struct IDXGISurface : IDXGISurface.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult Map(MappedRect* pLockedRect, uint MapFlags) @@ -3060,7 +3060,7 @@ public unsafe partial struct IDXGISurface : IDXGISurface.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult Unmap() @@ -3077,7 +3077,7 @@ public unsafe partial struct IDXGISurface : IDXGISurface.Interface } } -/// +/// /// IDXGISurface1 [Guid("4ae63092-6327-4c1b-80ae-bfe12ea32b86")] [NativeTypeName("struct IDXGISurface1 : IDXGISurface")] @@ -3234,7 +3234,7 @@ public unsafe partial struct IDXGISurface1 : IDXGISurface1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetDC(Bool32* Discard, IntPtr* phdc) @@ -3246,7 +3246,7 @@ public unsafe partial struct IDXGISurface1 : IDXGISurface1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult ReleaseDC(RawRect* pDirtyRect) @@ -3263,7 +3263,7 @@ public unsafe partial struct IDXGISurface1 : IDXGISurface1.Interface } } -/// +/// /// IDXGIAdapter [Guid("2411e7e1-12ac-4ccf-bd14-9798e8534dc0")] [NativeTypeName("struct IDXGIAdapter : IDXGIObject")] @@ -3372,7 +3372,7 @@ public unsafe partial struct IDXGIAdapter : IDXGIAdapter.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult EnumOutputs(uint Output, IDXGIOutput** ppOutput) @@ -3384,7 +3384,7 @@ public unsafe partial struct IDXGIAdapter : IDXGIAdapter.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult GetDesc(AdapterDescription* pDesc) @@ -3396,7 +3396,7 @@ public unsafe partial struct IDXGIAdapter : IDXGIAdapter.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult CheckInterfaceSupport(Guid* InterfaceName, LargeInterger* pUMDVersion) @@ -3413,7 +3413,7 @@ public unsafe partial struct IDXGIAdapter : IDXGIAdapter.Interface } } -/// +/// /// IDXGIOutput [Guid("ae02eedb-c735-4690-8d52-5a8dc20213aa")] [NativeTypeName("struct IDXGIOutput : IDXGIObject")] @@ -3522,7 +3522,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetDesc(OutputDescription* pDesc) @@ -3534,7 +3534,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult GetDisplayModeList(Common.Format EnumFormat, uint Flags, uint* pNumModes, Common.ModeDescription* pDesc) @@ -3546,7 +3546,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice) @@ -3558,7 +3558,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult WaitForVBlank() @@ -3570,7 +3570,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult TakeOwnership(IUnknown* pDevice, Bool32* Exclusive) @@ -3582,7 +3582,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public void ReleaseOwnership() @@ -3594,7 +3594,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps) @@ -3606,7 +3606,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult SetGammaControl(Common.GammaControl* pArray) @@ -3618,7 +3618,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult GetGammaControl(Common.GammaControl* pArray) @@ -3630,7 +3630,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface) @@ -3642,7 +3642,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult GetDisplaySurfaceData(IDXGISurface* pDestination) @@ -3654,7 +3654,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult GetFrameStatistics(FrameStatistics* pStats) @@ -3671,7 +3671,7 @@ public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface } } -/// +/// /// IDXGISwapChain [Guid("310d36a0-d2e7-4c0a-aa04-6a9d23b8886a")] [NativeTypeName("struct IDXGISwapChain : IDXGIDeviceSubObject")] @@ -3792,7 +3792,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult Present(uint SyncInterval, uint Flags) @@ -3804,7 +3804,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface) @@ -3816,7 +3816,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult SetFullscreenState(Bool32* Fullscreen, IDXGIOutput* pTarget) @@ -3828,7 +3828,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget) @@ -3840,7 +3840,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult GetDesc(SwapChainDescription* pDesc) @@ -3852,7 +3852,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, uint SwapChainFlags) @@ -3864,7 +3864,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters) @@ -3876,7 +3876,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult GetContainingOutput(IDXGIOutput** ppOutput) @@ -3888,7 +3888,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult GetFrameStatistics(FrameStatistics* pStats) @@ -3900,7 +3900,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult GetLastPresentCount(uint* pLastPresentCount) @@ -3917,7 +3917,7 @@ public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface } } -/// +/// /// IDXGIFactory [Guid("7b7166ec-21c7-44ae-b21a-c9ae321ae369")] [NativeTypeName("struct IDXGIFactory : IDXGIObject")] @@ -4026,7 +4026,7 @@ public unsafe partial struct IDXGIFactory : IDXGIFactory.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter) @@ -4038,7 +4038,7 @@ public unsafe partial struct IDXGIFactory : IDXGIFactory.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult MakeWindowAssociation(IntPtr* WindowHandle, uint Flags) @@ -4050,7 +4050,7 @@ public unsafe partial struct IDXGIFactory : IDXGIFactory.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult GetWindowAssociation(IntPtr* pWindowHandle) @@ -4062,7 +4062,7 @@ public unsafe partial struct IDXGIFactory : IDXGIFactory.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain) @@ -4074,7 +4074,7 @@ public unsafe partial struct IDXGIFactory : IDXGIFactory.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult CreateSoftwareAdapter(IntPtr* Module, IDXGIAdapter** ppAdapter) @@ -4091,7 +4091,7 @@ public unsafe partial struct IDXGIFactory : IDXGIFactory.Interface } } -/// +/// /// IDXGIDevice [Guid("54ec77fa-1377-44e6-8c32-88fd5f44c84c")] [NativeTypeName("struct IDXGIDevice : IDXGIObject")] @@ -4200,7 +4200,7 @@ public unsafe partial struct IDXGIDevice : IDXGIDevice.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetAdapter(IDXGIAdapter** pAdapter) @@ -4212,7 +4212,7 @@ public unsafe partial struct IDXGIDevice : IDXGIDevice.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult CreateSurface(SurfaceDescription* pDesc, uint NumSurfaces, uint Usage, SharedResource* pSharedResource, IDXGISurface* ppSurface) @@ -4224,7 +4224,7 @@ public unsafe partial struct IDXGIDevice : IDXGIDevice.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult QueryResourceResidency(IUnknown* ppResources, Residency* pResidencyStatus, uint NumResources) @@ -4236,7 +4236,7 @@ public unsafe partial struct IDXGIDevice : IDXGIDevice.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult SetGPUThreadPriority(int Priority) @@ -4248,7 +4248,7 @@ public unsafe partial struct IDXGIDevice : IDXGIDevice.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetGPUThreadPriority(int* pPriority) @@ -4265,7 +4265,7 @@ public unsafe partial struct IDXGIDevice : IDXGIDevice.Interface } } -/// +/// /// IDXGIFactory1 [Guid("770aae78-f26f-4dba-a829-253c83d1b387")] [NativeTypeName("struct IDXGIFactory1 : IDXGIFactory")] @@ -4434,7 +4434,7 @@ public unsafe partial struct IDXGIFactory1 : IDXGIFactory1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter) @@ -4446,7 +4446,7 @@ public unsafe partial struct IDXGIFactory1 : IDXGIFactory1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public Bool32 IsCurrent() @@ -4463,7 +4463,7 @@ public unsafe partial struct IDXGIFactory1 : IDXGIFactory1.Interface } } -/// +/// /// IDXGIAdapter1 [Guid("29038f61-3839-4626-91fd-086879011a05")] [NativeTypeName("struct IDXGIAdapter1 : IDXGIAdapter")] @@ -4608,7 +4608,7 @@ public unsafe partial struct IDXGIAdapter1 : IDXGIAdapter1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult GetDesc1(AdapterDescription1* pDesc) @@ -4625,7 +4625,7 @@ public unsafe partial struct IDXGIAdapter1 : IDXGIAdapter1.Interface } } -/// +/// /// IDXGIDevice1 [Guid("77db970f-6276-48ba-ba28-070143b4392c")] [NativeTypeName("struct IDXGIDevice1 : IDXGIDevice")] @@ -4794,7 +4794,7 @@ public unsafe partial struct IDXGIDevice1 : IDXGIDevice1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult SetMaximumFrameLatency(uint MaxLatency) @@ -4806,7 +4806,7 @@ public unsafe partial struct IDXGIDevice1 : IDXGIDevice1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult GetMaximumFrameLatency(uint* pMaxLatency) @@ -4823,7 +4823,7 @@ public unsafe partial struct IDXGIDevice1 : IDXGIDevice1.Interface } } -/// +/// /// IDXGIDisplayControl [Guid("ea9dbf1a-c88e-4486-854a-98aa0138f30c")] [NativeTypeName("struct IDXGIDisplayControl : IUnknown")] @@ -4884,7 +4884,7 @@ public unsafe partial struct IDXGIDisplayControl : IDXGIDisplayControl.Interface return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public Bool32 IsStereoEnabled() @@ -4896,7 +4896,7 @@ public unsafe partial struct IDXGIDisplayControl : IDXGIDisplayControl.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public void SetStereoEnabled(Bool32* enabled) @@ -4913,7 +4913,7 @@ public unsafe partial struct IDXGIDisplayControl : IDXGIDisplayControl.Interface } } -/// +/// /// IDXGIOutputDuplication [Guid("191cfac3-a341-470d-b26e-a864f428319c")] [NativeTypeName("struct IDXGIOutputDuplication : IDXGIObject")] @@ -5022,7 +5022,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public void GetDesc(OutduplDescription* pDesc) @@ -5034,7 +5034,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult AcquireNextFrame(uint TimeoutInMilliseconds, OutduplFrameInfo* pFrameInfo, IDXGIResource** ppDesktopResource) @@ -5046,7 +5046,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult GetFrameDirtyRects(uint DirtyRectsBufferSize, RawRect* pDirtyRectsBuffer, uint* pDirtyRectsBufferSizeRequired) @@ -5058,7 +5058,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult GetFrameMoveRects(uint MoveRectsBufferSize, OutduplMoveRect* pMoveRectBuffer, uint* pMoveRectsBufferSizeRequired) @@ -5070,7 +5070,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetFramePointerShape(uint PointerShapeBufferSize, void* pPointerShapeBuffer, uint* pPointerShapeBufferSizeRequired, OutduplPointerShapeInfo* pPointerShapeInfo) @@ -5082,7 +5082,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult MapDesktopSurface(MappedRect* pLockedRect) @@ -5094,7 +5094,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult UnMapDesktopSurface() @@ -5106,7 +5106,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult ReleaseFrame() @@ -5123,7 +5123,7 @@ public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Int } } -/// +/// /// IDXGISurface2 [Guid("aba496dd-b617-4cb8-a866-bc44d7eb1fa2")] [NativeTypeName("struct IDXGISurface2 : IDXGISurface1")] @@ -5304,7 +5304,7 @@ public unsafe partial struct IDXGISurface2 : IDXGISurface2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult GetResource(Guid* riid, void** ppParentResource, uint* pSubresourceIndex) @@ -5321,7 +5321,7 @@ public unsafe partial struct IDXGISurface2 : IDXGISurface2.Interface } } -/// +/// /// IDXGIResource1 [Guid("30961379-4609-4a41-998e-54fe567ee0c1")] [NativeTypeName("struct IDXGIResource1 : IDXGIResource")] @@ -5490,7 +5490,7 @@ public unsafe partial struct IDXGIResource1 : IDXGIResource1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult CreateSubresourceSurface(uint index, IDXGISurface2** ppSurface) @@ -5502,7 +5502,7 @@ public unsafe partial struct IDXGIResource1 : IDXGIResource1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult CreateSharedHandle(Security.SECURITY_ATTRIBUTES* pAttributes, uint dwAccess, char** lpName, IntPtr* pHandle) @@ -5519,7 +5519,7 @@ public unsafe partial struct IDXGIResource1 : IDXGIResource1.Interface } } -/// +/// /// IDXGIDevice2 [Guid("05008617-fbfd-4051-a790-144884b4f6a9")] [NativeTypeName("struct IDXGIDevice2 : IDXGIDevice1")] @@ -5712,7 +5712,7 @@ public unsafe partial struct IDXGIDevice2 : IDXGIDevice2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult OfferResources(uint NumResources, IDXGIResource* ppResources, OfferResourcePriority Priority) @@ -5724,7 +5724,7 @@ public unsafe partial struct IDXGIDevice2 : IDXGIDevice2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult ReclaimResources(uint NumResources, IDXGIResource* ppResources, Bool32* pDiscarded) @@ -5736,7 +5736,7 @@ public unsafe partial struct IDXGIDevice2 : IDXGIDevice2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult EnqueueSetEvent(IntPtr* hEvent) @@ -5753,7 +5753,7 @@ public unsafe partial struct IDXGIDevice2 : IDXGIDevice2.Interface } } -/// +/// /// IDXGISwapChain1 [Guid("790a45f7-0d42-4876-983a-0a55cfe6f4aa")] [NativeTypeName("struct IDXGISwapChain1 : IDXGISwapChain")] @@ -5994,7 +5994,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult GetDesc1(SwapChainDescription1* pDesc) @@ -6006,7 +6006,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult GetFullscreenDesc(SwapChainFullscreenDescription* pDesc) @@ -6018,7 +6018,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public HResult GetHwnd(IntPtr* pHwnd) @@ -6030,7 +6030,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult GetCoreWindow(Guid* refiid, void** ppUnk) @@ -6042,7 +6042,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult Present1(uint SyncInterval, uint PresentFlags, PresentParameters* pPresentParameters) @@ -6054,7 +6054,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public Bool32 IsTemporaryMonoSupported() @@ -6066,7 +6066,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult GetRestrictToOutput(IDXGIOutput* ppRestrictToOutput) @@ -6078,7 +6078,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public HResult SetBackgroundColor(Rgba* pColor) @@ -6090,7 +6090,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult GetBackgroundColor(Rgba* pColor) @@ -6102,7 +6102,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult SetRotation(Common.ModeRotation Rotation) @@ -6114,7 +6114,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public HResult GetRotation(Common.ModeRotation* pRotation) @@ -6131,7 +6131,7 @@ public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface } } -/// +/// /// IDXGIFactory2 [Guid("50c83a1c-e072-4c48-87b0-3630fa36a6d0")] [NativeTypeName("struct IDXGIFactory2 : IDXGIFactory1")] @@ -6324,7 +6324,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public Bool32 IsWindowedStereoEnabled() @@ -6336,7 +6336,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr* hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain) @@ -6348,7 +6348,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain) @@ -6360,7 +6360,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult GetSharedResourceAdapterLuid(IntPtr* hResource, Luid* pLuid) @@ -6372,7 +6372,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult RegisterStereoStatusWindow(IntPtr* WindowHandle, uint wMsg, uint* pdwCookie) @@ -6384,7 +6384,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult RegisterStereoStatusEvent(IntPtr* hEvent, uint* pdwCookie) @@ -6396,7 +6396,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public void UnregisterStereoStatus(uint dwCookie) @@ -6408,7 +6408,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult RegisterOcclusionStatusWindow(IntPtr* WindowHandle, uint wMsg, uint* pdwCookie) @@ -6420,7 +6420,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult RegisterOcclusionStatusEvent(IntPtr* hEvent, uint* pdwCookie) @@ -6432,7 +6432,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public void UnregisterOcclusionStatus(uint dwCookie) @@ -6444,7 +6444,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain) @@ -6461,7 +6461,7 @@ public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface } } -/// +/// /// IDXGIAdapter2 [Guid("0aa1ae0a-fa0e-4b84-8644-e05ff8e5acb5")] [NativeTypeName("struct IDXGIAdapter2 : IDXGIAdapter1")] @@ -6618,7 +6618,7 @@ public unsafe partial struct IDXGIAdapter2 : IDXGIAdapter2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetDesc2(AdapterDescription2* pDesc) @@ -6635,7 +6635,7 @@ public unsafe partial struct IDXGIAdapter2 : IDXGIAdapter2.Interface } } -/// +/// /// IDXGIOutput1 [Guid("00cddea8-939b-4b83-a340-a685226666cc")] [NativeTypeName("struct IDXGIOutput1 : IDXGIOutput")] @@ -6888,7 +6888,7 @@ public unsafe partial struct IDXGIOutput1 : IDXGIOutput1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc) @@ -6900,7 +6900,7 @@ public unsafe partial struct IDXGIOutput1 : IDXGIOutput1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice) @@ -6912,7 +6912,7 @@ public unsafe partial struct IDXGIOutput1 : IDXGIOutput1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult GetDisplaySurfaceData1(IDXGIResource* pDestination) @@ -6924,7 +6924,7 @@ public unsafe partial struct IDXGIOutput1 : IDXGIOutput1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication) @@ -6941,7 +6941,7 @@ public unsafe partial struct IDXGIOutput1 : IDXGIOutput1.Interface } } -/// +/// /// IDXGIDevice3 [Guid("6007896c-3244-4afd-bf18-a6d3beda5023")] [NativeTypeName("struct IDXGIDevice3 : IDXGIDevice2")] @@ -7170,7 +7170,7 @@ public unsafe partial struct IDXGIDevice3 : IDXGIDevice3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public void Trim() @@ -7187,7 +7187,7 @@ public unsafe partial struct IDXGIDevice3 : IDXGIDevice3.Interface } } -/// +/// /// IDXGISwapChain2 [Guid("a8be2ac4-199f-4946-b331-79599fb98de7")] [NativeTypeName("struct IDXGISwapChain2 : IDXGISwapChain1")] @@ -7560,7 +7560,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(29)] public HResult SetSourceSize(uint Width, uint Height) @@ -7572,7 +7572,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(30)] public HResult GetSourceSize(uint* pWidth, uint* pHeight) @@ -7584,7 +7584,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(31)] public HResult SetMaximumFrameLatency(uint MaxLatency) @@ -7596,7 +7596,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(32)] public HResult GetMaximumFrameLatency(uint* pMaxLatency) @@ -7608,7 +7608,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(33)] public IntPtr GetFrameLatencyWaitableObject() @@ -7620,7 +7620,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(34)] public HResult SetMatrixTransform(Matrix3x2F* pMatrix) @@ -7632,7 +7632,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(35)] public HResult GetMatrixTransform(Matrix3x2F* pMatrix) @@ -7649,7 +7649,7 @@ public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface } } -/// +/// /// IDXGIOutput2 [Guid("595e39d1-2724-4663-99b1-da969de28364")] [NativeTypeName("struct IDXGIOutput2 : IDXGIOutput1")] @@ -7950,7 +7950,7 @@ public unsafe partial struct IDXGIOutput2 : IDXGIOutput2.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public Bool32 SupportsOverlays() @@ -7967,7 +7967,7 @@ public unsafe partial struct IDXGIOutput2 : IDXGIOutput2.Interface } } -/// +/// /// IDXGIFactory3 [Guid("25483823-cd46-4c7d-86ca-47aa95b837bd")] [NativeTypeName("struct IDXGIFactory3 : IDXGIFactory2")] @@ -8292,7 +8292,7 @@ public unsafe partial struct IDXGIFactory3 : IDXGIFactory3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public uint GetCreationFlags() @@ -8309,7 +8309,7 @@ public unsafe partial struct IDXGIFactory3 : IDXGIFactory3.Interface } } -/// +/// /// IDXGIDecodeSwapChain [Guid("2633066b-4514-4c7a-8fd8-12ea98059d18")] [NativeTypeName("struct IDXGIDecodeSwapChain : IUnknown")] @@ -8370,7 +8370,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult PresentBuffer(uint BufferToPresent, uint SyncInterval, uint Flags) @@ -8382,7 +8382,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult SetSourceRect(RawRect* pRect) @@ -8394,7 +8394,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult SetTargetRect(RawRect* pRect) @@ -8406,7 +8406,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult SetDestSize(uint Width, uint Height) @@ -8418,7 +8418,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetSourceRect(RawRect* pRect) @@ -8430,7 +8430,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult GetTargetRect(RawRect* pRect) @@ -8442,7 +8442,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult GetDestSize(uint* pWidth, uint* pHeight) @@ -8454,7 +8454,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult SetColorSpace(MultiplaneOverlayYcbcrFlags ColorSpace) @@ -8466,7 +8466,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public Graphics.Dxgi.MultiplaneOverlayYcbcrFlags GetColorSpace() @@ -8483,7 +8483,7 @@ public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interfa } } -/// +/// /// IDXGIFactoryMedia [Guid("41e7d1f2-a591-4f7b-a2e5-fa9c843e1c12")] [NativeTypeName("struct IDXGIFactoryMedia : IUnknown")] @@ -8544,7 +8544,7 @@ public unsafe partial struct IDXGIFactoryMedia : IDXGIFactoryMedia.Interface return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult CreateSwapChainForCompositionSurfaceHandle(IUnknown* pDevice, IntPtr* hSurface, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain) @@ -8556,7 +8556,7 @@ public unsafe partial struct IDXGIFactoryMedia : IDXGIFactoryMedia.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult CreateDecodeSwapChainForCompositionSurfaceHandle(IUnknown* pDevice, IntPtr* hSurface, DecodeSwapChainDescription* pDesc, IDXGIResource* pYuvDecodeBuffers, IDXGIOutput* pRestrictToOutput, IDXGIDecodeSwapChain** ppSwapChain) @@ -8573,7 +8573,7 @@ public unsafe partial struct IDXGIFactoryMedia : IDXGIFactoryMedia.Interface } } -/// +/// /// IDXGISwapChainMedia [Guid("dd95b90b-f05f-4f6a-bd65-25bfb264bd84")] [NativeTypeName("struct IDXGISwapChainMedia : IUnknown")] @@ -8634,7 +8634,7 @@ public unsafe partial struct IDXGISwapChainMedia : IDXGISwapChainMedia.Interface return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetFrameStatisticsMedia(FrameStatisticsMedia* pStats) @@ -8646,7 +8646,7 @@ public unsafe partial struct IDXGISwapChainMedia : IDXGISwapChainMedia.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult SetPresentDuration(uint Duration) @@ -8658,7 +8658,7 @@ public unsafe partial struct IDXGISwapChainMedia : IDXGISwapChainMedia.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult CheckPresentDurationSupport(uint DesiredPresentDuration, uint* pClosestSmallerPresentDuration, uint* pClosestLargerPresentDuration) @@ -8675,7 +8675,7 @@ public unsafe partial struct IDXGISwapChainMedia : IDXGISwapChainMedia.Interface } } -/// +/// /// IDXGIOutput3 [Guid("8a6bb301-7e7e-41f4-a8e0-5b32f7f99b18")] [NativeTypeName("struct IDXGIOutput3 : IDXGIOutput2")] @@ -8988,7 +8988,7 @@ public unsafe partial struct IDXGIOutput3 : IDXGIOutput3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult CheckOverlaySupport(Common.Format EnumFormat, IUnknown* pConcernedDevice, uint* pFlags) @@ -9005,7 +9005,7 @@ public unsafe partial struct IDXGIOutput3 : IDXGIOutput3.Interface } } -/// +/// /// IDXGISwapChain3 [Guid("94d99bdb-f1f8-4ab0-b236-7da0170edab1")] [NativeTypeName("struct IDXGISwapChain3 : IDXGISwapChain2")] @@ -9462,7 +9462,7 @@ public unsafe partial struct IDXGISwapChain3 : IDXGISwapChain3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(36)] public uint GetCurrentBackBufferIndex() @@ -9474,7 +9474,7 @@ public unsafe partial struct IDXGISwapChain3 : IDXGISwapChain3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(37)] public HResult CheckColorSpaceSupport(Common.ColorSpaceType ColorSpace, uint* pColorSpaceSupport) @@ -9486,7 +9486,7 @@ public unsafe partial struct IDXGISwapChain3 : IDXGISwapChain3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(38)] public HResult SetColorSpace1(Common.ColorSpaceType ColorSpace) @@ -9498,7 +9498,7 @@ public unsafe partial struct IDXGISwapChain3 : IDXGISwapChain3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(39)] public HResult ResizeBuffers1(uint BufferCount, uint Width, uint Height, Common.Format Format, uint SwapChainFlags, uint* pCreationNodeMask, IUnknown* ppPresentQueue) @@ -9515,7 +9515,7 @@ public unsafe partial struct IDXGISwapChain3 : IDXGISwapChain3.Interface } } -/// +/// /// IDXGIOutput4 [Guid("dc7dca35-2196-414d-9f53-617884032a60")] [NativeTypeName("struct IDXGIOutput4 : IDXGIOutput3")] @@ -9840,7 +9840,7 @@ public unsafe partial struct IDXGIOutput4 : IDXGIOutput4.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public HResult CheckOverlayColorSpaceSupport(Common.Format Format, Common.ColorSpaceType ColorSpace, IUnknown* pConcernedDevice, uint* pFlags) @@ -9857,7 +9857,7 @@ public unsafe partial struct IDXGIOutput4 : IDXGIOutput4.Interface } } -/// +/// /// IDXGIFactory4 [Guid("1bc6ea02-ef36-464f-bf0c-21ca39e5168a")] [NativeTypeName("struct IDXGIFactory4 : IDXGIFactory3")] @@ -10194,7 +10194,7 @@ public unsafe partial struct IDXGIFactory4 : IDXGIFactory4.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult EnumAdapterByLuid(Luid* AdapterLuid, Guid* riid, void** ppvAdapter) @@ -10206,7 +10206,7 @@ public unsafe partial struct IDXGIFactory4 : IDXGIFactory4.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult EnumWarpAdapter(Guid* riid, void** ppvAdapter) @@ -10223,7 +10223,7 @@ public unsafe partial struct IDXGIFactory4 : IDXGIFactory4.Interface } } -/// +/// /// IDXGIAdapter3 [Guid("645967a4-1392-4310-a798-8053ce3e93fd")] [NativeTypeName("struct IDXGIAdapter3 : IDXGIAdapter2")] @@ -10392,7 +10392,7 @@ public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult RegisterHardwareContentProtectionTeardownStatusEvent(IntPtr* hEvent, uint* pdwCookie) @@ -10404,7 +10404,7 @@ public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public void UnregisterHardwareContentProtectionTeardownStatus(uint dwCookie) @@ -10416,7 +10416,7 @@ public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult QueryVideoMemoryInfo(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, QueryVideoMemoryInfo* pVideoMemoryInfo) @@ -10428,7 +10428,7 @@ public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult SetVideoMemoryReservation(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, ulong Reservation) @@ -10440,7 +10440,7 @@ public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult RegisterVideoMemoryBudgetChangeNotificationEvent(IntPtr* hEvent, uint* pdwCookie) @@ -10452,7 +10452,7 @@ public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public void UnregisterVideoMemoryBudgetChangeNotification(uint dwCookie) @@ -10469,7 +10469,7 @@ public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface } } -/// +/// /// IDXGIOutput5 [Guid("80a07424-ab52-42eb-833c-0c42fd282d98")] [NativeTypeName("struct IDXGIOutput5 : IDXGIOutput4")] @@ -10806,7 +10806,7 @@ public unsafe partial struct IDXGIOutput5 : IDXGIOutput5.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult DuplicateOutput1(IUnknown* pDevice, uint Flags, uint SupportedFormatsCount, Common.Format* pSupportedFormats, IDXGIOutputDuplication** ppOutputDuplication) @@ -10823,7 +10823,7 @@ public unsafe partial struct IDXGIOutput5 : IDXGIOutput5.Interface } } -/// +/// /// IDXGISwapChain4 [Guid("3d585d5a-bd4a-489e-b1f4-3dbcb6452ffb")] [NativeTypeName("struct IDXGISwapChain4 : IDXGISwapChain3")] @@ -11328,7 +11328,7 @@ public unsafe partial struct IDXGISwapChain4 : IDXGISwapChain4.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(40)] public HResult SetHDRMetaData(HdrMetadataType Type, uint Size, void* pMetaData) @@ -11345,7 +11345,7 @@ public unsafe partial struct IDXGISwapChain4 : IDXGISwapChain4.Interface } } -/// +/// /// IDXGIDevice4 [Guid("95b4f95f-d8da-4ca4-9ee6-3b76d5968a10")] [NativeTypeName("struct IDXGIDevice4 : IDXGIDevice3")] @@ -11586,7 +11586,7 @@ public unsafe partial struct IDXGIDevice4 : IDXGIDevice4.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult OfferResources1(uint NumResources, IDXGIResource* ppResources, OfferResourcePriority Priority, uint Flags) @@ -11598,7 +11598,7 @@ public unsafe partial struct IDXGIDevice4 : IDXGIDevice4.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult ReclaimResources1(uint NumResources, IDXGIResource* ppResources, ReclaimResourceResults* pResults) @@ -11615,7 +11615,7 @@ public unsafe partial struct IDXGIDevice4 : IDXGIDevice4.Interface } } -/// +/// /// IDXGIFactory5 [Guid("7632e1f5-ee65-4dca-87fd-84cd75f8838d")] [NativeTypeName("struct IDXGIFactory5 : IDXGIFactory4")] @@ -11976,7 +11976,7 @@ public unsafe partial struct IDXGIFactory5 : IDXGIFactory5.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public HResult CheckFeatureSupport(Feature Feature, void* pFeatureSupportData, uint FeatureSupportDataSize) @@ -11993,7 +11993,7 @@ public unsafe partial struct IDXGIFactory5 : IDXGIFactory5.Interface } } -/// +/// /// IDXGIAdapter4 [Guid("3c8d99d1-4fbf-4181-a82c-af66bf7bd24e")] [NativeTypeName("struct IDXGIAdapter4 : IDXGIAdapter3")] @@ -12234,7 +12234,7 @@ public unsafe partial struct IDXGIAdapter4 : IDXGIAdapter4.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult GetDesc3(AdapterDescription3* pDesc) @@ -12251,7 +12251,7 @@ public unsafe partial struct IDXGIAdapter4 : IDXGIAdapter4.Interface } } -/// +/// /// IDXGIOutput6 [Guid("068346e8-aaec-4b84-add7-137f513f77a1")] [NativeTypeName("struct IDXGIOutput6 : IDXGIOutput5")] @@ -12600,7 +12600,7 @@ public unsafe partial struct IDXGIOutput6 : IDXGIOutput6.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult GetDesc1(OutputDescription1* pDesc) @@ -12612,7 +12612,7 @@ public unsafe partial struct IDXGIOutput6 : IDXGIOutput6.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public HResult CheckHardwareCompositionSupport(uint* pFlags) @@ -12629,7 +12629,7 @@ public unsafe partial struct IDXGIOutput6 : IDXGIOutput6.Interface } } -/// +/// /// IDXGIFactory6 [Guid("c1b6694f-ff09-44a9-b03c-77900a0a1d17")] [NativeTypeName("struct IDXGIFactory6 : IDXGIFactory5")] @@ -13002,7 +13002,7 @@ public unsafe partial struct IDXGIFactory6 : IDXGIFactory6.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(29)] public HResult EnumAdapterByGpuPreference(uint Adapter, GpuPreference GpuPreference, Guid* riid, void** ppvAdapter) @@ -13019,7 +13019,7 @@ public unsafe partial struct IDXGIFactory6 : IDXGIFactory6.Interface } } -/// +/// /// IDXGIFactory7 [Guid("a4966eed-76db-44da-84c1-ee9a7afb20a8")] [NativeTypeName("struct IDXGIFactory7 : IDXGIFactory6")] @@ -13404,7 +13404,7 @@ public unsafe partial struct IDXGIFactory7 : IDXGIFactory7.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(30)] public HResult RegisterAdaptersChangedEvent(IntPtr* hEvent, uint* pdwCookie) @@ -13416,7 +13416,7 @@ public unsafe partial struct IDXGIFactory7 : IDXGIFactory7.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(31)] public HResult UnregisterAdaptersChangedEvent(uint dwCookie) @@ -13433,7 +13433,7 @@ public unsafe partial struct IDXGIFactory7 : IDXGIFactory7.Interface } } -/// +/// /// IDXGIInfoQueue [Guid("d67441c7-672a-476f-9e82-cd55b44949ce")] [NativeTypeName("struct IDXGIInfoQueue : IUnknown")] @@ -13494,7 +13494,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult SetMessageCountLimit(Guid Producer, ulong MessageCountLimit) @@ -13506,7 +13506,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public void ClearStoredMessages(Guid Producer) @@ -13518,7 +13518,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetMessage(Guid Producer, ulong MessageIndex, InfoQueueMessage* pMessage, nuint* pMessageByteLength) @@ -13530,7 +13530,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public ulong GetNumStoredMessagesAllowedByRetrievalFilters(Guid Producer) @@ -13542,7 +13542,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public ulong GetNumStoredMessages(Guid Producer) @@ -13554,7 +13554,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public ulong GetNumMessagesDiscardedByMessageCountLimit(Guid Producer) @@ -13566,7 +13566,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public ulong GetMessageCountLimit(Guid Producer) @@ -13578,7 +13578,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public ulong GetNumMessagesAllowedByStorageFilter(Guid Producer) @@ -13590,7 +13590,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public ulong GetNumMessagesDeniedByStorageFilter(Guid Producer) @@ -13602,7 +13602,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult AddStorageFilterEntries(Guid Producer, InfoQueueFilter* pFilter) @@ -13614,7 +13614,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult GetStorageFilter(Guid Producer, InfoQueueFilter* pFilter, nuint* pFilterByteLength) @@ -13626,7 +13626,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public void ClearStorageFilter(Guid Producer) @@ -13638,7 +13638,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult PushEmptyStorageFilter(Guid Producer) @@ -13650,7 +13650,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult PushDenyAllStorageFilter(Guid Producer) @@ -13662,7 +13662,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult PushCopyOfStorageFilter(Guid Producer) @@ -13674,7 +13674,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult PushStorageFilter(Guid Producer, InfoQueueFilter* pFilter) @@ -13686,7 +13686,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public void PopStorageFilter(Guid Producer) @@ -13698,7 +13698,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public uint GetStorageFilterStackSize(Guid Producer) @@ -13710,7 +13710,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult AddRetrievalFilterEntries(Guid Producer, InfoQueueFilter* pFilter) @@ -13722,7 +13722,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult GetRetrievalFilter(Guid Producer, InfoQueueFilter* pFilter, nuint* pFilterByteLength) @@ -13734,7 +13734,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public void ClearRetrievalFilter(Guid Producer) @@ -13746,7 +13746,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult PushEmptyRetrievalFilter(Guid Producer) @@ -13758,7 +13758,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public HResult PushDenyAllRetrievalFilter(Guid Producer) @@ -13770,7 +13770,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult PushCopyOfRetrievalFilter(Guid Producer) @@ -13782,7 +13782,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult PushRetrievalFilter(Guid Producer, InfoQueueFilter* pFilter) @@ -13794,7 +13794,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public void PopRetrievalFilter(Guid Producer) @@ -13806,7 +13806,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(29)] public uint GetRetrievalFilterStackSize(Guid Producer) @@ -13818,7 +13818,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(30)] public HResult AddMessage(Guid Producer, InfoQueueMessageCategory Category, InfoQueueMessageSeverity Severity, int ID, byte** pDescription) @@ -13830,7 +13830,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(31)] public HResult AddApplicationMessage(InfoQueueMessageSeverity Severity, byte** pDescription) @@ -13842,7 +13842,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(32)] public HResult SetBreakOnCategory(Guid Producer, InfoQueueMessageCategory Category, Bool32* bEnable) @@ -13854,7 +13854,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(33)] public HResult SetBreakOnSeverity(Guid Producer, InfoQueueMessageSeverity Severity, Bool32* bEnable) @@ -13866,7 +13866,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(34)] public HResult SetBreakOnID(Guid Producer, int ID, Bool32* bEnable) @@ -13878,7 +13878,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(35)] public Bool32 GetBreakOnCategory(Guid Producer, InfoQueueMessageCategory Category) @@ -13890,7 +13890,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(36)] public Bool32 GetBreakOnSeverity(Guid Producer, InfoQueueMessageSeverity Severity) @@ -13902,7 +13902,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(37)] public Bool32 GetBreakOnID(Guid Producer, int ID) @@ -13914,7 +13914,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(38)] public void SetMuteDebugOutput(Guid Producer, Bool32* bMute) @@ -13926,7 +13926,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(39)] public Bool32 GetMuteDebugOutput(Guid Producer) @@ -13943,7 +13943,7 @@ public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface } } -/// +/// /// IDXGIDebug [Guid("119e7452-de9e-40fe-8806-88f90c12b441")] [NativeTypeName("struct IDXGIDebug : IUnknown")] @@ -14004,7 +14004,7 @@ public unsafe partial struct IDXGIDebug : IDXGIDebug.Interface return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult ReportLiveObjects(Guid apiid, DebugRloFlags flags) @@ -14021,7 +14021,7 @@ public unsafe partial struct IDXGIDebug : IDXGIDebug.Interface } } -/// +/// /// IDXGIDebug1 [Guid("c5a05f0c-16f2-4adf-9f4d-a8c4d58ac550")] [NativeTypeName("struct IDXGIDebug1 : IDXGIDebug")] @@ -14094,7 +14094,7 @@ public unsafe partial struct IDXGIDebug1 : IDXGIDebug1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public void EnableLeakTrackingForThread() @@ -14106,7 +14106,7 @@ public unsafe partial struct IDXGIDebug1 : IDXGIDebug1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public void DisableLeakTrackingForThread() @@ -14118,7 +14118,7 @@ public unsafe partial struct IDXGIDebug1 : IDXGIDebug1.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public Bool32 IsLeakTrackingEnabledForThread() @@ -14135,7 +14135,7 @@ public unsafe partial struct IDXGIDebug1 : IDXGIDebug1.Interface } } -/// +/// /// IDXGraphicsAnalysis [Guid("9f251514-9d4d-4902-9d60-18988ab7d4b5")] [NativeTypeName("struct IDXGraphicsAnalysis : IUnknown")] @@ -14196,7 +14196,7 @@ public unsafe partial struct IDXGraphicsAnalysis : IDXGraphicsAnalysis.Interface return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public void BeginCapture() @@ -14208,7 +14208,7 @@ public unsafe partial struct IDXGraphicsAnalysis : IDXGraphicsAnalysis.Interface #endif } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public void EndCapture()