diff --git a/Directory.Build.props b/Directory.Build.props index abd5b22..65b6314 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -7,7 +7,7 @@ true true - 1.7.2 + 1.7.3 true diff --git a/Vortice.Win32.sln b/Vortice.Win32.sln index cf7a71e..386253d 100644 --- a/Vortice.Win32.sln +++ b/Vortice.Win32.sln @@ -28,6 +28,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vortice.Win32.Direct3D11", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vortice.Win32.Direct3D11on12", "src\Vortice.Win32.Direct3D11on12\Vortice.Win32.Direct3D11on12.csproj", "{978D804A-9F52-4ED4-95D9-BBED341E48A6}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vortice.Win32.Dxc", "src\Vortice.Win32.Dxc\Vortice.Win32.Dxc.csproj", "{DF5C7A6F-8E17-41EC-A7F1-9FE03ACD75F3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -58,6 +60,10 @@ Global {978D804A-9F52-4ED4-95D9-BBED341E48A6}.Debug|Any CPU.Build.0 = Debug|Any CPU {978D804A-9F52-4ED4-95D9-BBED341E48A6}.Release|Any CPU.ActiveCfg = Release|Any CPU {978D804A-9F52-4ED4-95D9-BBED341E48A6}.Release|Any CPU.Build.0 = Release|Any CPU + {DF5C7A6F-8E17-41EC-A7F1-9FE03ACD75F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DF5C7A6F-8E17-41EC-A7F1-9FE03ACD75F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF5C7A6F-8E17-41EC-A7F1-9FE03ACD75F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DF5C7A6F-8E17-41EC-A7F1-9FE03ACD75F3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Generator/Program.cs b/src/Generator/Program.cs index 22217cc..3f19155 100644 --- a/src/Generator/Program.cs +++ b/src/Generator/Program.cs @@ -945,9 +945,9 @@ public static class Program { "D3D11_BUFFER_UAV::Flags", "D3D11_BUFFER_UAV_FLAG" }, { "D3D11_BUFFEREX_SRV::Flags", "D3D11_BUFFEREX_SRV_FLAG" }, - { "D3D11_RESOURCE_FLAGS::BindFlags", "D3D11_BIND_FLAG" }, - { "D3D11_RESOURCE_FLAGS::CPUAccessFlags", "D3D11_CPU_ACCESS_FLAG" }, - { "D3D11_RESOURCE_FLAGS::MiscFlags", "D3D11_RESOURCE_MISC_FLAG" }, + { "D3D11_RESOURCE_FLAGS::BindFlags", "Graphics.Direct3D11.D3D11_BIND_FLAG" }, + { "D3D11_RESOURCE_FLAGS::CPUAccessFlags", "Graphics.Direct3D11.D3D11_CPU_ACCESS_FLAG" }, + { "D3D11_RESOURCE_FLAGS::MiscFlags", "Graphics.Direct3D11.D3D11_RESOURCE_MISC_FLAG" }, // D3D12 { "D3D12_RENDER_TARGET_BLEND_DESC::RenderTargetWriteMask", "D3D12_COLOR_WRITE_ENABLE" }, @@ -1001,7 +1001,7 @@ public static class Program { "D3DCompressShaders::uFlags", "D3D_COMPRESS_SHADER" }, { "D3DDisassemble::Flags", "D3D_DISASM" }, - { "D3D11On12CreateDevice::Flags", "D3D11_CREATE_DEVICE_FLAG" }, + { "D3D11On12CreateDevice::Flags", "Graphics.Direct3D11.D3D11_CREATE_DEVICE_FLAG" }, }; private static readonly HashSet s_visitedEnums = new(); @@ -1041,6 +1041,7 @@ public static class Program string d3d11Path = Path.Combine(new DirectoryInfo(repoRoot).Parent.FullName, "Vortice.Win32.Direct3D11"); string d3d12Path = Path.Combine(new DirectoryInfo(repoRoot).Parent.FullName, "Vortice.Win32.Direct3D12"); string d3d11on12Path = Path.Combine(new DirectoryInfo(repoRoot).Parent.FullName, "Vortice.Win32.Direct3D11on12"); + string dxcPath = Path.Combine(new DirectoryInfo(repoRoot).Parent.FullName, "Vortice.Win32.Dxc"); // Generate docs //DocGenerator.Generate(new[] { "DXGI" }, Path.Combine(repoRoot, "Generated", "Graphics", "Dxgi.xml")); @@ -1075,8 +1076,14 @@ public static class Program outputPath = d3d11on12Path; useSubFolders = false; } + else if (jsonFile.EndsWith("Direct3D.Dxc.json")) + { + outputPath = dxcPath; + useSubFolders = false; + } outputPath = Path.Combine(outputPath, "Generated"); + if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); @@ -1085,7 +1092,6 @@ public static class Program Generate(api!, outputPath, jsonFile, useSubFolders); } - return 0; } @@ -1119,12 +1125,7 @@ public static class Program ns = $"{folderRoot}.{fileName}"; } - if (docFile != "json") - { - string subdirectory = Path.Combine(outputFolder, docFile); - - } - else + if (docFile == "json" || jsonFile == "Graphics.Direct3D.Dxc.json") { docFile = string.Empty; } @@ -1145,12 +1146,17 @@ public static class Program apiFolder = outputPath; } - if (Directory.Exists(apiFolder) == false) + if (Directory.Exists(apiFolder)) { - Directory.CreateDirectory(apiFolder); + Directory.Delete(apiFolder, true); } - docFile = $"../{docFile}"; + Directory.CreateDirectory(apiFolder); + + if (string.IsNullOrWhiteSpace(docFile) == false) + { + docFile = $"../{docFile}"; + } GenerateConstants(apiFolder, apiName, docFile, api); GenerateTypes(apiFolder, apiName, docFile, api); @@ -1461,7 +1467,10 @@ public static class Program { if (function.Name.StartsWith("D3DX11") || function.Name == "D3DDisassemble11Trace" || - function.Name == "D3DDisassemble10Effect") + function.Name == "D3DDisassemble10Effect" || + function.Name == "D3DCreateLinker" || + function.Name == "D3DLoadModule" || + function.Name == "D3DCreateFunctionLinkingGraph") { continue; } @@ -1490,6 +1499,16 @@ public static class Program string functionSuffix = string.Empty; StringBuilder functionSignature = new(); + if (string.IsNullOrEmpty(functionName)) + { + functionName = function.Name; + } + + if (string.IsNullOrEmpty(writer.DocFileName) == false && !asParameter && !asCallback) + { + writer.WriteLine($"/// "); + } + if (string.IsNullOrEmpty(function.DllImport) == false) { functionSuffix = "static extern "; @@ -1528,10 +1547,7 @@ public static class Program } string argumentsString = argumentBuilder.ToString(); - if (string.IsNullOrEmpty(functionName)) - { - functionName = function.Name; - } + if (!asParameter) { @@ -1602,13 +1618,15 @@ public static class Program docFileName, $"Win32.{apiName}"); - if (!autoGenerated) + if (!autoGenerated && string.IsNullOrEmpty(writer.DocFileName) == false) { writer.WriteLine($"/// "); } if (s_generateUnmanagedDocs) + { writer.WriteLine($"/// {enumType.Name}"); + } bool isFlags = false; if (enumType.Flags || @@ -1685,7 +1703,7 @@ public static class Program string enumValueName = GetEnumItemName(enumType, enumItem, enumPrefix, skipPrettify); - if (!autoGenerated) + if (!autoGenerated && string.IsNullOrEmpty(writer.DocFileName) == false) { writer.WriteLine($"/// "); } @@ -1768,7 +1786,10 @@ public static class Program if (!nestedType) { - writer.WriteLine($"/// "); + if (string.IsNullOrEmpty(writer.DocFileName) == false) + { + writer.WriteLine($"/// "); + } if (s_generateUnmanagedDocs) { @@ -1822,13 +1843,22 @@ public static class Program } string fieldTypeName = GetTypeName(field.Type, asPointer); - - writer.WriteLine($"/// "); + if (string.IsNullOrEmpty(writer.DocFileName) == false) + { + writer.WriteLine($"/// "); + } string remapFieldLookUp = $"{structType.Name}::{field.Name}"; if (s_structFieldTypeRemap.TryGetValue(remapFieldLookUp, out string? remapType)) { - fieldTypeName = GetTypeName($"{writer.Api}.{remapType}"); + if (remapType.Contains('.')) + { + fieldTypeName = GetTypeName($"{remapType}"); + } + else + { + fieldTypeName = GetTypeName($"{writer.Api}.{remapType}"); + } } if (fieldTypeName == "Array") @@ -1998,7 +2028,10 @@ public static class Program docFileName, $"Win32.{apiName}"); - writer.WriteLine($"/// "); + if (string.IsNullOrEmpty(writer.DocFileName) == false) + { + writer.WriteLine($"/// "); + } if (s_generateUnmanagedDocs) { @@ -2197,10 +2230,18 @@ public static class Program if (comType.Name == docName) { - writer.WriteLine($"/// "); + if (string.IsNullOrEmpty(writer.DocFileName) == false) + { + writer.WriteLine($"/// "); + } } else { + if (docName == "ID2D1SimplifiedGeometrySink") + { + docName = "Win32.Graphics.Direct2D.Common.ID2D1SimplifiedGeometrySink"; + } + writer.WriteLine($"/// "); } @@ -2283,7 +2324,15 @@ public static class Program string parameterNameLookup = $"{memberLookup}::{parameter.Name}"; if (s_mapFunctionParameters.TryGetValue(parameterNameLookup, out string? remapType)) { - parameterType = GetTypeName($"{writer.Api}.{remapType}"); + if (remapType.Contains('.')) + { + parameterType = GetTypeName($"{remapType}"); + } + else + { + parameterType = GetTypeName($"{writer.Api}.{remapType}"); + } + if (parameter.Attrs.Any(item => item is string str && str == "Out")) { parameterType += "*"; diff --git a/src/Vortice.Win32.Direct3D11/Generated/Apis.Functions.cs b/src/Vortice.Win32.Direct3D11/Generated/Apis.Functions.cs index a567d9e..fb5801a 100644 --- a/src/Vortice.Win32.Direct3D11/Generated/Apis.Functions.cs +++ b/src/Vortice.Win32.Direct3D11/Generated/Apis.Functions.cs @@ -11,9 +11,11 @@ namespace Win32.Graphics.Direct3D11; public static unsafe partial class Apis { + /// [DllImport("d3d11.dll", ExactSpelling = true)] public static extern HResult D3D11CreateDevice(Graphics.Dxgi.IDXGIAdapter* pAdapter, Graphics.Direct3D.DriverType DriverType, IntPtr Software, CreateDeviceFlags Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, uint SDKVersion, ID3D11Device** ppDevice, Graphics.Direct3D.FeatureLevel* pFeatureLevel, ID3D11DeviceContext** ppImmediateContext); + /// [DllImport("d3d11.dll", ExactSpelling = true)] public static extern HResult D3D11CreateDeviceAndSwapChain(Graphics.Dxgi.IDXGIAdapter* pAdapter, Graphics.Direct3D.DriverType DriverType, IntPtr Software, CreateDeviceFlags Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, uint SDKVersion, Graphics.Dxgi.SwapChainDescription* pSwapChainDesc, Graphics.Dxgi.IDXGISwapChain** ppSwapChain, ID3D11Device** ppDevice, Graphics.Direct3D.FeatureLevel* pFeatureLevel, ID3D11DeviceContext** ppImmediateContext); } diff --git a/src/Vortice.Win32.Direct3D11/Generated/Direct3D11.xml b/src/Vortice.Win32.Direct3D11/Generated/Direct3D11.xml deleted file mode 100644 index 5c0cae2..0000000 --- a/src/Vortice.Win32.Direct3D11/Generated/Direct3D11.xml +++ /dev/null @@ -1,17887 +0,0 @@ - - - - - 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. - - - - 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. - - -
diff --git a/src/Vortice.Win32.Direct3D11on12/Generated/Apis.Functions.cs b/src/Vortice.Win32.Direct3D11on12/Generated/Apis.Functions.cs index e140cc7..0ea3e1a 100644 --- a/src/Vortice.Win32.Direct3D11on12/Generated/Apis.Functions.cs +++ b/src/Vortice.Win32.Direct3D11on12/Generated/Apis.Functions.cs @@ -11,6 +11,7 @@ namespace Win32.Graphics.Direct3D11on12; public static unsafe partial class Apis { + /// [DllImport("d3d11.dll", ExactSpelling = true)] - public static extern HResult D3D11On12CreateDevice(IUnknown* pDevice, Win32.Graphics.Direct3D11.CreateDeviceFlags Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, IUnknown** ppCommandQueues, uint NumQueues, uint NodeMask, Graphics.Direct3D11.ID3D11Device** ppDevice, Graphics.Direct3D11.ID3D11DeviceContext** ppImmediateContext, Graphics.Direct3D.FeatureLevel* pChosenFeatureLevel); + public static extern HResult D3D11On12CreateDevice(IUnknown* pDevice, Graphics.Direct3D11.CreateDeviceFlags Flags, Graphics.Direct3D.FeatureLevel* pFeatureLevels, uint FeatureLevels, IUnknown** ppCommandQueues, uint NumQueues, uint NodeMask, Graphics.Direct3D11.ID3D11Device** ppDevice, Graphics.Direct3D11.ID3D11DeviceContext** ppImmediateContext, Graphics.Direct3D.FeatureLevel* pChosenFeatureLevel); } diff --git a/src/Vortice.Win32.Direct3D11on12/Generated/ResourceFlags.cs b/src/Vortice.Win32.Direct3D11on12/Generated/ResourceFlags.cs index be54bc9..ecf3177 100644 --- a/src/Vortice.Win32.Direct3D11on12/Generated/ResourceFlags.cs +++ b/src/Vortice.Win32.Direct3D11on12/Generated/ResourceFlags.cs @@ -14,13 +14,13 @@ namespace Win32.Graphics.Direct3D11on12; public partial struct ResourceFlags { /// - public Win32.Graphics.Direct3D11.BindFlags BindFlags; + public Graphics.Direct3D11.BindFlags BindFlags; /// - public Win32.Graphics.Direct3D11.ResourceMiscFlags MiscFlags; + public Graphics.Direct3D11.ResourceMiscFlags MiscFlags; /// - public Win32.Graphics.Direct3D11.CpuAccessFlags CPUAccessFlags; + public Graphics.Direct3D11.CpuAccessFlags CPUAccessFlags; /// public uint StructureByteStride; diff --git a/src/Vortice.Win32.Direct3D12/Generated/Apis.Functions.cs b/src/Vortice.Win32.Direct3D12/Generated/Apis.Functions.cs index 3e2c233..c842f14 100644 --- a/src/Vortice.Win32.Direct3D12/Generated/Apis.Functions.cs +++ b/src/Vortice.Win32.Direct3D12/Generated/Apis.Functions.cs @@ -11,27 +11,35 @@ namespace Win32.Graphics.Direct3D12; public static unsafe partial class Apis { + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12SerializeRootSignature(RootSignatureDescription* pRootSignature, RootSignatureVersion Version, Graphics.Direct3D.ID3DBlob** ppBlob, Graphics.Direct3D.ID3DBlob** ppErrorBlob); + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12CreateRootSignatureDeserializer(void* pSrcData, nuint SrcDataSizeInBytes, Guid* pRootSignatureDeserializerInterface, void** ppRootSignatureDeserializer); + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12SerializeVersionedRootSignature(VersionedRootSignatureDescription* pRootSignature, Graphics.Direct3D.ID3DBlob** ppBlob, Graphics.Direct3D.ID3DBlob** ppErrorBlob); + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12CreateVersionedRootSignatureDeserializer(void* pSrcData, nuint SrcDataSizeInBytes, Guid* pRootSignatureDeserializerInterface, void** ppRootSignatureDeserializer); + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12CreateDevice(IUnknown* pAdapter, Graphics.Direct3D.FeatureLevel MinimumFeatureLevel, Guid* riid, void** ppDevice); + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12GetDebugInterface(Guid* riid, void** ppvDebug); + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12EnableExperimentalFeatures(uint NumFeatures, Guid* pIIDs, void* pConfigurationStructs, uint* pConfigurationStructSizes); + /// [DllImport("d3d12.dll", ExactSpelling = true)] public static extern HResult D3D12GetInterface(Guid* rclsid, Guid* riid, void** ppvDebug); } diff --git a/src/Vortice.Win32.Direct3D12/Generated/Direct3D12.xml b/src/Vortice.Win32.Direct3D12/Generated/Direct3D12.xml deleted file mode 100644 index 261fbdf..0000000 --- a/src/Vortice.Win32.Direct3D12/Generated/Direct3D12.xml +++ /dev/null @@ -1,12643 +0,0 @@ - - - - - Provides runtime access to Device Removed Extended Data (DRED) data. - Microsoft Docs: - - - - - Gets the current value of the fence. - Microsoft Docs: - - - - - Describes the access to resource(s) that is requested by an application at the transition into a render pass. - Microsoft Docs: - - - - A D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE. The type of access being requested. - - - A D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS. Appropriate when Type is D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR. The clear value to which resource(s) should be cleared. - - - - Specifies texture layout options. - Microsoft Docs: - - - - Indicates that the layout is unknown, and is likely adapter-dependent. - During creation, the driver chooses the most efficient layout based on other resource properties, especially resource size and flags. - Prefer this choice unless certain functionality is required from another texture layout. - - -Zero-copy texture upload optimizations exist for UMA architectures; see ID3D12Resource::WriteToSubresource. - - - Indicates that data for the texture is stored in row-major order (sometimes called "pitch-linear order"). - - -This texture layout locates consecutive texels of a row contiguously in memory, before the texels of the next row. - Similarly, consecutive texels of a particular depth or array slice are contiguous in memory before the texels of the next depth or array slice. - Padding may exist between rows and between depth or array slices to align collections of data. - A stride is the distance in memory between rows, depth, or array slices; and it includes any padding. - - -This texture layout enables sharing of the texture data between multiple adapters, when other layouts aren't available. - - -Many restrictions apply, because this layout is generally not efficient for extensive usage: - - -
    -
  • The locality of nearby texels is not rotationally invariant. -
  • -
  • Only the following texture properties are supported: - -
  • -
  • The texture must be created on a heap with D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER. -
  • -
-Buffers are created with D3D12_TEXTURE_LAYOUT_ROW_MAJOR, because row-major texture data can be located in them without creating a texture object. - This is commonly used for uploading or reading back texture data, especially for discrete/NUMA adapters. - However, D3D12_TEXTURE_LAYOUT_ROW_MAJOR can also be used when marshaling texture data between GPUs or adapters. - For examples of usage with ID3D12GraphicsCommandList::CopyTextureRegion, see some of the following topics: - - -
-
- - Indicates that the layout within 64KB tiles and tail mip packing is up to the driver. - No standard swizzle pattern. - - -This texture layout is arranged into contiguous 64KB regions, also known as tiles, containing near equilateral amount of consecutive number of texels along each dimension. - Tiles are arranged in row-major order. - While there is no padding between tiles, there are typically unused texels within the last tile in each dimension. - The layout of texels within the tile is undefined. - Each subresource immediately follows where the previous subresource end, and the subresource order follows the same sequence as subresource ordinals. - However, tail mip packing is adapter-specific. - For more details, see tiled resource tier and ID3D12Device::GetResourceTiling. - - -This texture layout enables partially resident or sparse texture scenarios when used together with virtual memory page mapping functionality. - This texture layout must be used together with ID3D12Device::CreateReservedResourceto enable the usage of ID3D12CommandQueue::UpdateTileMappings. - - -Some restrictions apply to textures with this layout: - - - - - - Indicates that a default texture uses the standardized swizzle pattern. - - -This texture layout is arranged the same way that D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE is, except that the layout of texels within the tile is defined. - Tail mip packing is adapter-specific. - - -This texture layout enables optimizations when marshaling data between multiple adapters or between the CPU and GPU. - The amount of copying can be reduced when multiple components understand the texture memory layout. - This layout is generally more efficient for extensive usage than row-major layout, due to the rotationally invariant locality of neighboring texels. - This layout can typically only be used with adapters that support standard swizzle, but exceptions exist for cross-adapter shared heaps. - - -The restrictions for this layout are that the following aren't supported: - - - - - - - Represents Device Removed Extended Data (DRED) auto-breadcrumb data as a node in a linked list. - Microsoft Docs: - - - - A pointer to the ANSI debug name of the outstanding command list (if any). - - - A pointer to the wide debug name of the outstanding command list (if any). - - - A pointer to the ANSI debug name of the outstanding command queue (if any). - - - A pointer to the wide debug name of the outstanding command queue (if any). - - - A pointer to the [ID3D12GraphicsCommandList interface](nn-d3d12-id3d12graphicscommandlist.md) representing the outstanding command list at the time of execution. - - - A pointer to the [ID3D12CommandQueue interface](nn-d3d12-id3d12commandqueue.md) representing the outstanding command queue. - - - A UINT32 containing the count of D3D12_AUTO_BREADCRUMB_OP values in the array pointed to by pCommandHistory. - - - A pointer to a constant UINT32 containing the index (within the array pointed to by pCommandHistory) of the last render/compute operation that was completed by the GPU while executing the associated command list. - - - A pointer to a constant array of D3D12_AUTO_BREADCRUMB_OP values representing all of the render/compute operations recorded into the associated command list. - - - A pointer to a constant D3D12_AUTO_BREADCRUMB_NODE representing the next auto-breadcrumb node in the list, or nullptr if this is the last node. - - - - Sets the stream output buffer views. - Microsoft Docs: - Index into the device's zero-based array to begin setting stream output buffers. - The number of entries in the pViews array. - Specifies an array of D3D12_STREAM_OUTPUT_BUFFER_VIEW structures. - - - - - Sets a group of constants in the graphics root signature. - Microsoft Docs: - The slot number for binding. - The number of constants to set in the root signature. - The source data for the group of constants to set. - The offset, in 32-bit values, to set the first constant of the group in the root signature. - - - - - Checks whether a resource, or subresource, is in a specified state, or not. - Microsoft Docs: - Specifies the ID3D12Resource to check. - The index of the subresource to check. This can be set to an index, or D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES. - Specifies the state to check for. This can be one or more D3D12_RESOURCE_STATES flags Or'ed together. - - - - - Creates a command list. - Microsoft Docs: - For single-GPU operation, set this to zero. If there are multiple GPU nodes, then set a bit to identify the node (the device's physical adapter) for which to create the command list. Each bit in the mask corresponds to a single node. Only one bit must be set. Also see [Multi-adapter systems](/windows/win32/direct3d12/multi-engine). - Specifies the type of command list to create. - A pointer to the command allocator object from which the device creates command lists. - An optional pointer to the pipeline state object that contains the initial pipeline state for the command list. If it is nulltpr, then the runtime sets a dummy initial pipeline state, so that drivers don't have to deal with undefined state. The overhead for this is low, particularly for a command list, for which the overall cost of recording the command list likely dwarfs the cost of a single initial state setting. So there's little cost in not setting the initial pipeline state parameter, if doing so is inconvenient. - -For bundles, on the other hand, it might make more sense to try to set the initial state parameter (since bundles are likely smaller overall, and can be reused frequently). - A reference to the globally unique identifier (GUID) of the command list interface to return in ppCommandList. - A pointer to a memory block that receives a pointer to the ID3D12CommandList or ID3D12GraphicsCommandList interface for the command list. - - - - - 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. In this case, NumTiles should be equal to Width * Height * Depth. - -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 UseBox, you use a D3D12_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, UseBox 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. - - - - Specifies the features that a video processor can support. - Microsoft Docs: - - - - No features are supported. - - - The video processor can set alpha values on the output pixels. The alpha fill mode is used in D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC. D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_OPAQUE must be always supported. The background, destination, and source stream modes are only supported when the driver reports D3D12_VIDEO_PROCESS_FEATURE_FLAG_ALPHA_FILL. - - - The video processor can perform luma keying. Luma keying is configured via the D3D12_VIDEO_PROCESS_LUMA_KEY member of the D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS structure. For more information see D3D12_VIDEO_PROCESS_LUMA_KEY. - - - The video processor can support 3D stereo video. For more information, see D3D12_VIDEO_FRAME_STEREO_FORMAT. - -All drivers setting this capability must support the following stereo formats: D3D12_VIDEO_PROCESS_STEREO_FORMAT_HORIZONTAL, D3D12_VIDEO_PROCESS_STEREO_FORMAT_VERTICAL, and D3D12_VIDEO_PROCESS_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 can flip the input data horizontally or vertically, together or separately with a video rotation operation. - - - Alpha blending and a planar alpha may be set in the AlphaBlending member of the D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS structure. For more information see D3D12_VIDEO_PROCESS_ALPHA_BLENDING. - - - The driver supports changing the pixel aspect ratio. If the driver does not report this capability, then the SourceAspectRatio and DestinationAspectRatio members of D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS structure must indicate a 1:1 aspect ratio. - - - - Creates a pipeline state object from a pipeline state stream description. - Microsoft Docs: - The address of a D3D12_PIPELINE_STATE_STREAM_DESC structure that describes the pipeline state. - The globally unique identifier (GUID) for the pipeline state interface (ID3D12PipelineState). - -The REFIID, or GUID, of the interface to the pipeline state can be obtained by using the __uuidof() macro. For example, __uuidof(ID3D12PipelineState) will get the GUID of the interface to a pipeline state. - SAL: _COM_Outptr_ - -A pointer to a memory block that receives a pointer to the ID3D12PipelineState interface for the pipeline state object. - -The pipeline state object is an immutable state object. It contains no methods. - - - - - Pop a storage filter from the top of the storage-filter stack. - Microsoft Docs: - - - - - 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. - -When the number of messages in the message queue has reached the maximum limit, new messages coming in will push old messages out. - - - - - Describes an instance of a raytracing acceleration structure used in GPU memory during the acceleration structure build process. - Microsoft Docs: - - - - A 3x4 transform matrix in row-major layout representing the instance-to-world transformation. Implementations transform rays, as opposed to transforming all of the geometry or AABBs. - -> [!NOTE] -> The layout of Transform is a transpose of how affine matrices are typically stored in memory. Instead of four 3-vectors, Transform is laid out as three 4-vectors. - - - An arbitrary 24-bit value that can be accessed using the InstanceID intrinsic function in supported shader types. - - - An 8-bit mask assigned to the instance, which can be used to include/reject groups of instances on a per-ray basis. If the value is zero, then the instance will never be included, so typically this should be set to some non-zero value. For more information see, the InstanceInclusionMask parameter to the TraceRay function. - - - An arbitrary 24-bit value representing per-instance contribution to add into shader table indexing to select the hit group to use. - - - An 8-bit mask representing flags from D3D12_RAYTRACING_INSTANCE_FLAGS to apply to the instance. - - - Address of the bottom-level acceleration structure that is being instanced. The address must be aligned to 256 bytes, defined as D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT. Any existing acceleration structure passed in here would already have been required to be placed with such alignment. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. - - - - Specifies how the pipeline interprets geometry or hull shader input primitives. - Microsoft Docs: - - - - The shader has not been initialized with an input primitive type. - - - Interpret the input primitive as a point. - - - Interpret the input primitive as a line. - - - Interpret the input primitive as a triangle. - - - Interpret the input primitive as a control point patch. - - - - Defines the layout in memory of a stereo 3D video frame. - Microsoft Docs: - - - - No stereo format is specified. - - - 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. - -![Horizontal stereo format showing the frame 0 pixels on the left of a grid of pixels and the frame 1 pixels on the right](./images/stereo_format_horizontal.png) - - - Frame 0 and frame 1 are packed top-to-bottom, as shown in the following diagram. - -![Vertical stereo format showing the frame 0 pixels on the top of a grid of pixels and the frame 1 pixels on the bottom](./images/stereo_format_horizontal.png) - - - Frame 0 and frame 1 are placed in separate resources - - - - Provides data for calls to ID3D12VideoDevice::CheckFeatureSupport when the feature specified is D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES. Retrieves the protected resources support for video motion estimation. - Microsoft Docs: - - - - In multi-adapter operation, identifies the physical adapter of the device this operation applies to. - - - A member of the D3D12_VIDEO_PROTECTED_RESOURCE_SUPPORT_FLAGS enumeration specifying support for protected resources. - - - - Defines constants that specify the data type of a parameter to a meta command. - Microsoft Docs: - - - - Specifies that the parameter is of type FLOAT. - - - Specifies that the parameter is of type UINT64. - - - Specifies that the parameter is a GPU virtual address. - - - Specifies that the parameter is a CPU descriptor handle to a heap containing either constant buffer views, shader resource views, or unordered access views. - - - Specifies that the parameter is a GPU descriptor handle to a heap containing either constant buffer views, shader resource views, or unordered access views. - - - - Describes a portion of a texture for the purpose of texture copies. - Microsoft Docs: - - - - Specifies the resource which will be used for the copy operation.
 
When Type is D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT, pResource must point to a buffer resource.
 
When Type is D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX, pResource must point to a texture resource.
-
- - Specifies which type of resource location this is: a subresource of a texture, or a description of a texture layout which can be applied to a buffer. - This D3D12_TEXTURE_COPY_TYPE enum indicates which union member to use. - - - Specifies a texture layout, with offset, dimensions, and pitches, for the hardware to understand how to treat a section of a buffer resource as a multi-dimensional texture. - To fill-in the correct data for a CopyTextureRegion call, - see D3D12_PLACED_SUBRESOURCE_FOOTPRINT. - - - Specifies the index of the subresource of an arrayed, mip-mapped, or planar texture should be used for the copy operation. - - - - Atomically copies a primary data element of type UINT64 from one resource to another, along with optional dependent resources. - Microsoft Docs: - SAL: _In_ - -The resource that the UINT64 primary data element is copied into. - An offset into the destination resource buffer that specifies where the primary data element is copied into, in bytes. This offset combined with the base address of the resource buffer must result in a memory address that's naturally aligned for UINT64 values. - SAL: _In_ - -The resource that the UINT64 primary data element is copied from. This data is typically an address, index, or other handle that shader code can use to locate the most-recent version of latency-sensitive information. - An offset into the source resource buffer that specifies where the primary data element is copied from, in bytes. This offset combined with the base address of the resource buffer must result in a memory address that's naturally aligned for UINT64 values. - The number of dependent resources. - SAL: _In_reads_(Dependencies) - -An array of resources that contain the dependent elements of the data payload. - SAL: _In_reads_(Dependencies) - -An array of subresource ranges that specify the dependent elements of the data payload. These elements are completely updated before the primary data element is itself atomically copied. This ensures that the entire operation is logically atomic; that is, the primary data element never refers to an incomplete data payload. - - - - - Starts a query running. - Microsoft Docs: - Specifies the ID3D12QueryHeap containing the query. - Specifies one member of D3D12_QUERY_TYPE. - Specifies the index of the query within the query heap. - - - - - Not intended to be called directly.  Use the PIX event runtime to insert events into a command queue. - Microsoft Docs: - Internal. - Internal. - Internal. - - - - - Used to determine which kinds of command lists are capable of supporting various operations. - Microsoft Docs: - - - - Specifies that no command list supports the operation in question. - - - Specifies that direct command lists can support the operation in question. - - - Specifies that command list bundles can support the operation in question. - - - Specifies that compute command lists can support the operation in question. - - - Specifies that copy command lists can support the operation in question. - - - Specifies that video-decode command lists can support the operation in question. - - - Specifies that video-processing command lists can support the operation is question. - - - - Defines constants that specify the state of a resource regarding how the resource is being used. - Microsoft Docs: - - - - Your application should transition to this state only for accessing a resource across different graphics engine types. - -Specifically, a resource must be in the COMMON state before being used on a COPY queue (when previous used on DIRECT/COMPUTE), and before being used on DIRECT/COMPUTE (when previously used on COPY). This restriction does not exist when accessing data between DIRECT and COMPUTE queues. - -The COMMON state can be used for all usages on a Copy queue using the implicit state transitions. For more info, in Multi-engine synchronization, find "common". - -Additionally, textures must be in the COMMON state for CPU access to be legal, assuming the texture was created in a CPU-visible heap in the first place. - - - A subresource must be in this state when it is accessed by the GPU as a vertex buffer or constant buffer. This is a read-only state. - - - A subresource must be in this state when it is accessed by the 3D pipeline as an index buffer. This is a read-only state. - - - The resource is used as a render target. A subresource must be in this state when it is rendered to or when it is cleared with ID3D12GraphicsCommandList::ClearRenderTargetView. - -This is a write-only state. To read from a render target as a shader resource the resource must be in either D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE or D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE. - - - The resource is used for unordered access. A subresource must be in this state when it is accessed by the GPU via an unordered access view. A subresource must also be in this state when it is cleared with ID3D12GraphicsCommandList::ClearUnorderedAccessViewInt or ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat. This is a read/write state. - - - D3D12_RESOURCE_STATE_DEPTH_WRITE is a state that is mutually exclusive with other states. You should use it for ID3D12GraphicsCommandList::ClearDepthStencilView when the flags (see D3D12_CLEAR_FLAGS) indicate a given subresource should be cleared (otherwise the subresource state doesn't matter), or when using it in a writable depth stencil view (see D3D12_DSV_FLAGS) when the PSO has depth write enabled (see D3D12_DEPTH_STENCIL_DESC). - - - DEPTH_READ is a state which can be combined with other states. It should be used when the subresource is in a read-only depth stencil view, or when the DepthEnable parameter of D3D12_DEPTH_STENCIL_DESC is false. It can be combined with other read states (for example, D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE), such that the resource can be used for the depth or stencil test, and accessed by a shader within the same draw call. Using it when depth will be written by a draw call or clear command is invalid. - - - The resource is used with a shader other than the pixel shader. A subresource must be in this state before being read by any stage (except for the pixel shader stage) via a shader resource view. You can still use the resource in a pixel shader with this flag as long as it also has the flag D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE set. This is a read-only state. - - - The resource is used with a pixel shader. A subresource must be in this state before being read by the pixel shader via a shader resource view. This is a read-only state. - - - The resource is used with stream output. A subresource must be in this state when it is accessed by the 3D pipeline as a stream-out target. This is a write-only state. - - - The resource is used as an indirect argument. - Subresources must be in this state when they are used as the argument buffer passed to the indirect drawing method ID3D12GraphicsCommandList::ExecuteIndirect. - This is a read-only state. - - - The resource is used as the destination in a copy operation. - Subresources must be in this state when they are used as the destination of copy operation, or a blt operation. - This is a write-only state. - - - The resource is used as the source in a copy operation. - Subresources must be in this state when they are used as the source of copy operation, or a blt operation. - This is a read-only state. - - - The resource is used as the destination in a resolve operation. - - - The resource is used as the source in a resolve operation. - - - When a buffer is created with this as its initial state, it indicates that the resource is a raytracing acceleration structure, for use in ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure, ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure, or ID3D12Device::CreateShaderResourceView for the D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE dimension. - - - Starting with Windows 10, version 1903 (10.0; Build 18362), indicates that the resource is a screen-space shading-rate image for variable-rate shading (VRS). For more info, see Variable-rate shading (VRS). - - - D3D12_RESOURCE_STATE_GENERIC_READ is a logically OR'd combination of other read-state bits. This is the required starting state for an upload heap. Your application should generally avoid transitioning to D3D12_RESOURCE_STATE_GENERIC_READ when possible, since that can result in premature cache flushes, or resource layout changes (for example, compress/decompress), causing unnecessary pipeline stalls. You should instead transition resources only to the actually-used states. - - - Synonymous with D3D12_RESOURCE_STATE_COMMON. - - - The resource is used for Predication. - - - The resource is used as a source in a decode operation. Examples include reading the compressed bitstream and reading from decode references, - - - The resource is used as a destination in the decode operation. This state is used for decode output and histograms. - - - The resource is used to read video data during video processing; that is, the resource is used as the source in a processing operation such as video encoding (compression). - - - The resource is used to write video data during video processing; that is, the resource is used as the destination in a processing operation such as video encoding (compression). - - - The resource is used as the source in an encode operation. This state is used for the input and reference of motion estimation. - - - This resource is used as the destination in an encode operation. This state is used for the destination texture of a resolve motion vector heap operation. - - - - Get the size of the storage-filter stack in bytes. - Microsoft Docs: - - - - - Specifies how to copy a tile. - Microsoft Docs: - - - - No tile-copy flags are specified. - - - Indicates that the GPU isn't currently referencing any of the - portions of destination memory being written. - - - Indicates that the ID3D12GraphicsCommandList::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 ID3D12GraphicsCommandList::CopyTiles call, you specify the source data with the pBuffer parameter and the destination with the pTiledResource parameter. - - - Indicates that the ID3D12GraphicsCommandList::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 ID3D12GraphicsCommandList::CopyTiles call, you specify the source data with the pTiledResource parameter and the destination with the pBuffer parameter. - - - - Sets all the elements in a unordered access view to the specified float values. - Microsoft Docs: - A D3D12_GPU_DESCRIPTOR_HANDLE that references an initialized descriptor for the unordered-access view (UAV) that is to be cleared. This descriptor must be in a shader-visible descriptor heap, which must be set on the command list via SetDescriptorHeaps. - A D3D12_CPU_DESCRIPTOR_HANDLE in a non-shader visible descriptor heap that references an initialized descriptor for the unordered-access view (UAV) that is to be cleared. - -> [!IMPORTANT] -> This descriptor must not be in a shader-visible descriptor heap. This is to allow drivers thath implement the clear as fixed-function hardware (rather than via a dispatch) to efficiently read from the descriptor, as shader-visible heaps may be created in WRITE_BACK memory (similar to D3D12_HEAP_TYPE_UPLOAD heap types), and CPU reads from this type of memory are prohibitively slow. - A pointer to the ID3D12Resource interface that represents the unordered-access-view (UAV) resource to clear. - A 4-component array that containing the values to fill the unordered-access-view resource with. - The number of rectangles in the array that the pRects parameter specifies. - An array of D3D12_RECT structures for the rectangles in the resource view to clear. If NULL, ClearUnorderedAccessViewFloat clears the entire resource view. - - - - - Specifies the shaders that can access the contents of a given root signature slot. - Microsoft Docs: - - - - Specifies that all shader stages can access whatever is bound at the root signature slot. - - - Specifies that the vertex shader stage can access whatever is bound at the root signature slot. - - - Specifies that the hull shader stage can access whatever is bound at the root signature slot. - - - Specifies that the domain shader stage can access whatever is bound at the root signature slot. - - - Specifies that the geometry shader stage can access whatever is bound at the root signature slot. - - - Specifies that the pixel shader stage can access whatever is bound at the root signature slot. - - - Specifies that the amplification shader stage can access whatever is bound at the root signature slot. - - - Specifies that the mesh shader stage can access whatever is bound at the root signature slot. - - - - Adds support for video extension commands. - Microsoft Docs: - - - - - This method enables or disables GPU-Based Validation (GBV) before creating a device with the debug layer enabled. - Microsoft Docs: - TRUE to enable GPU-Based Validation, otherwise FALSE. - - - - - Associates a name with the device object. This name is for use in debug diagnostics and tools. - Microsoft Docs: - A NULL-terminated UNICODE string that contains the name to associate with the device object. - - - - - Get the size of the retrieval-filter stack in bytes. - Microsoft Docs: - - - - - Creates both a resource and an implicit heap, such that the heap is big enough to contain the entire resource, and the resource is mapped to the heap. - Microsoft Docs: - A pointer to a D3D12_HEAP_PROPERTIES structure that provides properties for the resource's heap. - Heap options, as a bitwise-OR'd combination of D3D12_HEAP_FLAGS enumeration constants. - A pointer to a D3D12_RESOURCE_DESC structure that describes the resource. - The initial state of the resource, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. - -When you create a resource together with a D3D12_HEAP_TYPE_UPLOAD heap, you must set InitialResourceState to D3D12_RESOURCE_STATE_GENERIC_READ. - -When you create a resource together with a D3D12_HEAP_TYPE_READBACK heap, you must set InitialResourceState to D3D12_RESOURCE_STATE_COPY_DEST. - Specifies a D3D12_CLEAR_VALUE structure that describes the default value for a clear color. - -pOptimizedClearValue specifies a value for which clear operations are most optimal. When the created resource is a texture with either the D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET or D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL flags, you should choose the value with which the clear operation will most commonly be called. You can call the clear operation with other values, but those operations won't be as efficient as when the value matches the one passed in to resource creation. - -When you use D3D12_RESOURCE_DIMENSION_BUFFER, you must set pOptimizedClearValue to nullptr. - A reference to the globally unique identifier (GUID) of the resource interface to return in ppvResource. - -While riidResource is most commonly the GUID of ID3D12Resource, it may be the GUID of any interface. If the resource object doesn't support the interface for this GUID, then creation fails with E_NOINTERFACE. - An optional pointer to a memory block that receives the requested interface pointer to the created resource object. - -ppvResource can be nullptr, to enable capability testing. When ppvResource is nullptr, no object is created, and S_FALSE is returned when pDesc is valid. - - - - - Indicates the level of support that the adapter provides for variable-rate shading (VRS), and indicates whether or not background processing is supported. - Microsoft Docs: - - - - Indicates whether 2x4, 4x2, and 4x4 coarse pixel sizes are supported for single-sampled rendering; and whether coarse pixel size 2x4 is supported for 2x MSAA. true if those sizes are supported, otherwise false. - - - Indicates whether the per-provoking-vertex (also known as per-primitive) rate can be used with more than one viewport. If so, then, in that case, that rate can be used when SV_ViewportIndex is written to. true if that rate can be used with more than one viewport, otherwise false. - - - Indicates the shading rate tier. - - - Indicates the tile size of the screen-space image as a UINT. - - - Indicates whether or not background processing is supported. true if background processing is supported, otherwise false. For more info, see the [Direct3D 12 background processing spec](https://microsoft.github.io/DirectX-Specs/d3d/BackgroundProcessing.html). - - - - 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. - - - - Defines constants that specify a version of Device Removed Extended Data (DRED), as used by the D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA structure. - Microsoft Docs: - - - - Specifies DRED version 1.0. - - - Specifies DRED version 1.1. - - - - Describes the input-buffer data for the input-assembler stage. - Microsoft Docs: - - - - An array of D3D12_INPUT_ELEMENT_DESC structures that describe the data types of the input-assembler stage. - - - The number of input-data types in the array of input elements that the pInputElementDescs member points to. - - - - Describes heap properties. - Microsoft Docs: - - - - A D3D12_HEAP_TYPE-typed value that specifies the type of heap. - - - A D3D12_CPU_PAGE_PROPERTY-typed value that specifies the CPU-page properties for the heap. - - - A D3D12_MEMORY_POOL-typed value that specifies the memory pool for the heap. - - - For multi-adapter operation, this indicates the node where the resource should be created. - -Exactly one bit of this UINT must be set. See Multi-adapter systems. - -Passing zero is equivalent to passing one, in order to simplify the usage of single-GPU adapters. - - - For multi-adapter operation, this indicates the set of nodes where the resource is visible. - -VisibleNodeMask must have the same bit set that is set in CreationNodeMask. VisibleNodeMask can also have additional bits set for cross-node resources, but doing so can potentially reduce performance for resource accesses, so you should do so only when needed. - -Passing zero is equivalent to passing one, in order to simplify the usage of single-GPU adapters. - - - - Specifies 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. - - - - Describes a set of Axis-aligned bounding boxes that are used in the D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS structure to provide input data to a raytracing acceleration structure build operation. - Microsoft Docs: - - - - The number of AABBs pointed to in the contiguous array at AABBs. - - - the GPU memory location where an array of AABB descriptions is to be found, including the data stride between AABBs. The address and stride must each be aligned to 8 bytes, defined as The address must be aligned to 16 bytes, defined as D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT. The stride can be 0. - - - - Gets a shader description. - Microsoft Docs: - A shader description, as a pointer to a D3D12_SHADER_DESC structure. - - - - - A shader-reflection interface accesses shader information. - Microsoft Docs: - - - - - Remove a retrieval filter from the top of the retrieval-filter stack. - Microsoft Docs: - - - - - Enables or disables dependent command queue synchronization when using a Direct3D 12 device with the debug layer enabled. - Microsoft Docs: - TRUE to enable Dependent Command Queue Synchronization, otherwise FALSE. - - - - - Identifies the type of resource to view as a render target. - Microsoft Docs: - - - - Do not use this value, as it will cause ID3D12Device::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. - - - - Specifies transform parameters for video processing. - Microsoft Docs: - - - - Specifies the source rectangle of the transform. This is the portion of the input surface that is blitted to the destination surface. The source rectangle is given in pixel coordinates, relative to the input surface. - - - Specifies the destination rectangle of the transform. This is the portion of the output surface that receives the blit for this stream. The destination rectangle is given in pixel coordinates, relative to the output surface. - - - The rotation and flip operation to apply to the source. Source and Destination rectangles are specified in post orientation coordinates. - - - - Creates a root signature layout. - Microsoft Docs: - For single GPU operation, set this to zero. If there are multiple GPU nodes, set bits to identify the nodes (the device's physical adapters) to which the root signature is to apply. - Each bit in the mask corresponds to a single node. - Refer to Multi-adapter systems. - A pointer to the source data for the serialized signature. - The size, in bytes, of the block of memory that pBlobWithRootSignature points to. - The globally unique identifier (GUID) for the root signature interface. See Remarks. - An input parameter. - A pointer to a memory block that receives a pointer to the root signature. - - - - - Set the current pipeline stack size. - Microsoft Docs: - Stack size in bytes to use during pipeline execution for each shader thread. There can be many thousands of threads in flight at once on the GPU. - -If the value is greater than 0xffffffff (the maximum value of a 32-bit UINT) the runtime will drop the call, and the debug layer will print an error, as this is likely the result of summing up invalid stack sizes returned from GetShaderStackSize called with invalid parameters, which return 0xffffffff. In this case, the previously set stack size, or the default, remains. - - - - - Retrieves the properties of the resource heap, for placed and committed resources. - Microsoft Docs: - Pointer to a D3D12_HEAP_PROPERTIES structure, that on successful completion of the method will contain the resource heap properties. - Specifies a D3D12_HEAP_FLAGS variable, that on successful completion of the method will contain any miscellaneous heap flags. - - - - - Describes info about the feature levels supported by the current graphics driver. - Microsoft Docs: - - - - The number of feature levels in the array at pFeatureLevelsRequested. - - - A pointer to an array of D3D_FEATURE_LEVELs that the application is requesting for the driver and hardware to evaluate. - - - The maximum feature level that the driver and hardware support. - - - - Describes 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. - - - - Defines the combination of a pixel format and color space for a resource content description. - Microsoft Docs: - - - - A value from the DXGI_FORMAT enumeration, specifying the DXGI format of the data. - - - A value from the DXGI_COLOR_SPACE_TYPE enumeration, specifying the color space of the data. - - - - Creates a compute pipeline state object. - Microsoft Docs: - A pointer to a D3D12_COMPUTE_PIPELINE_STATE_DESC structure that describes compute pipeline state. - The globally unique identifier (GUID) for the pipeline state interface (ID3D12PipelineState). - The REFIID, or GUID, of the interface to the pipeline state can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12PipelineState) will get the GUID of the interface to a pipeline state. - A pointer to a memory block that receives a pointer to the ID3D12PipelineState interface for the pipeline state object. - The pipeline state object is an immutable state object. It contains no methods. - - - - - Discards a resource. - Microsoft Docs: - A pointer to the ID3D12Resource interface for the resource to discard. - A pointer to a D3D12_DISCARD_REGION structure that describes details for the discard-resource operation. - - - - - Gets the base class of a class. - Microsoft Docs: - - - - - Describes 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 ID3D12Device::CreateShaderResourceView creates a view) -1. - - - The maximum number of mipmap levels for the view of the texture. See the remarks in D3D12_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. - - - A value to clamp sample LOD values to. For example, if you specify 2.0f for the clamp value, you ensure that no individual sample accesses a mip level less than 2.0f. - - - - Set a message severity level to break on when a message with that severity level passes through the storage filter. - Microsoft Docs: - A message severity level to break on. - Turns this breaking condition on or off (true for on, false for off). - - - - - Represents a Direct3D 12 video decoder heap. - Microsoft Docs: - - - - - Represents the decode parameters for a frame. - Microsoft Docs: - - - - A member of the D3D12_VIDEO_DECODE_ARGUMENT_TYPE enumeration specifying the type of argument. - - - The size of the data in pArgument, in bytes. - - - A pointer to the argument data. - - - - Describes a ID3D12VideoDecoder. - Microsoft Docs: - - - - The node mask specifying the physical adapter on which the video processor will be used. For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node, i.e. the device's physical adapter, to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A D3D12_VIDEO_DECODE_CONFIGURATION structure specifying the configuration of the video decoder. - - - - Retrieves a description of the protected resource session. - Microsoft Docs: - - - - - A heap is an abstraction of contiguous memory allocation, used to manage physical memory. This heap can be used with ID3D12Resource objects to support placed resources or reserved resources. - Microsoft Docs: - - - - - Represents a GPU virtual address and indexing stride. - Microsoft Docs: - - - - The beginning of the virtual address range. - - - Defines indexing stride, such as for vertices. Only the bottom 32 bits are used. The field is 64 bits to make alignment of containing structures consistent everywhere. - - - - Creates a cached pipeline library. - Microsoft Docs: - If the input library blob is empty, then the initial content of the library is empty. If the input library blob is not empty, then it is validated for integrity, parsed, and the pointer is stored. The pointer provided as input to this method must remain valid for the lifetime of the object returned. For efficiency reasons, the data is not copied. - Specifies the length of pLibraryBlob in bytes. - Specifies a unique REFIID for the ID3D12PipelineLibrary object. Typically set this and the following parameter with the macro IID_PPV_ARGS(&library), where Library is the name of the object. - Returns a pointer to the created library. - - - - - Indicates the level of support for heap serialization. - Microsoft Docs: - - - - An input field, indicating the adapter index to query. - - - An output field, indicating the tier of heap serialization support. - - - - Specifies the type of query heap to create. - Microsoft Docs: - - - - This returns a binary 0/1 result: 0 indicates that no samples passed depth and stencil testing, 1 indicates that at least one sample passed depth and stencil testing. This enables occlusion queries to not interfere with any GPU performance optimization associated with depth/stencil testing. - - - Indicates that the heap is for high-performance timing data. - - - Indicates the heap is to contain pipeline data. Refer to D3D12_QUERY_DATA_PIPELINE_STATISTICS. - - - Indicates the heap is to contain stream output data. Refer to D3D12_QUERY_DATA_SO_STATISTICS. - - - Indicates the heap is to contain video decode statistics data. Refer to D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS. - -Video decode statistics can only be queried from video decode command lists (D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE). See D3D12_QUERY_TYPE_DECODE_STATISTICS for more details. - - - Indicates the heap is to contain timestamp queries emitted exclusively by copy command lists. Copy queue timestamps can only be queried from a copy command list, and a copy command list can not emit to a regular timestamp query Heap. - -Support for this query heap type is not universal. You must use CheckFeatureSupport with D3D12_FEATURE_D3D12_OPTIONS3 to determine whether the adapter supports copy queue timestamp queries. - - - - Not intended to be called directly.  Use the PIX event runtime to insert events into a command list. - Microsoft Docs: - Internal. - Internal. - Internal. - - - - - Modifies the D3D12 optional device-wide Debug Layer settings. - Microsoft Docs: - Specifies a D3D12_DEBUG_DEVICE_PARAMETER_TYPE value that indicates which debug parameter data to get. - Debug parameter data to set. - Size in bytes of the data pointed to by pData. - - - - - Details the adapter's support for prioritization of different command queue types. - Microsoft Docs: - - - - SAL: _In_ - -The type of the command list you're interested in. - - - SAL: _In_ - -The priority level you're interested in. - - - SAL: _Out_ - -On return, contains true if the specfied command list type supports the specified priority level; otherwise, false. - - - - Specifies debug message IDs for setting up an info-queue filter (see D3D12_INFO_QUEUE_FILTER); use these messages to allow or deny message categories to pass through the storage and retrieval filters. - Microsoft Docs: - - - - - Retrieves the requested PSO from the library. The pipeline stream description is matched against the library database and remembered in order to prevent duplication of PSO contents. - Microsoft Docs: - SAL: _In_ - -The unique name of the PSO. - SAL: _In_ - -Describes the required PSO using a D3D12_PIPELINE_STATE_STREAM_DESC structure. This description is matched against the library database and stored in order to prevent duplication of PSO contents. - Specifies a REFIID for the ID3D12PipelineStateState object. - -Applications should typically set this argument and the following argument, ppPipelineState, by using the macro IID_PPV_ARGS(&PSO1), where PSO1 is the name of the object. - SAL: _COM_Outptr_ - -Specifies the pointer that will reference the PSO after the function successfully returns. - - - - - Retrieves the list of supported formats. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A D3D12\_VIDEO\_DECODE\_CONFIGURATION structure describing the decode configuration for the list of formats. - - - The number of formats to retrieve. This number must match the value returned from a call [ID3D12VideoDevice::CheckFeatureSupport](nf-d3d12video-id3d12videodevice-checkfeaturesupport.md) when the feature specified is D3D12\_FEATURE\_VIDEO\_DECODE\_FORMAT\_COUNT. - - - A list of DXGI_FORMAT structures representing the supported formats. - - - - Specifies the decoding tier of a hardware video decoder, which determines the required format of application-defined textures and buffers. - Microsoft Docs: - - - - Video decoding is not supported. - - - In tier 1, the hardware decoder requires that the application allocate reference textures as a texture array. This is to accomodate hardware requirements that the textures be "close" in address space because the hardware doesn't support a full size pointer for each individual picture buffer. Instead it has one pointer and a more limited bit offset. For more information on texture arrays, see [Introduction To Textures in Direct3D 11](/windows/win32/direct3d11/overviews-direct3d-11-resources-textures-intro). - -If the decoder hardware requires a unique memory layout that is not supported for operations on other engines or different video operations, the decoder may set the D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED configuration flag in the D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT structure when queried for profile support. This flag indicates that the application must allocate references with the D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY flag. The application should use the D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS structure to set a reference-only output if the output is needed as a future reference frame. The output frame passed to ID3D12VideoCommandList::DecodeFrame is a D3D12 resource that can be consumed by other portions of the pipeline and must not have the D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY flag. - - - In decode tier 2, textures can be referenced as a texture array or as an array of separate texture 2D resources (each resource having array size of 1). This is more flexible for the caller and is important in scenarios where the resolution changes frequently such as in streaming video, because a texture array can only be allocated and deallocated as an single unit, but separate texture 2D resources can be allocated and deallocated individually. - -If decode hardware requires a unique tiling format that is not supported for operations on other engines or different video operations, the decoder may set the D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED configuration flag in the D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT structure when queried for profile support. This flag indicates that the application must allocate references with the D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY flag. The application should use the D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS structure to set a reference only output if the output is needed as a future reference frame. The output frame passed to ID3D12VideoCommandList::DecodeFrame is a D3D12 resource that can be consumed by other portions of the pipeline and must not have the D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY flag. - - - This field is reserved. - - - - Describes a shader. - Microsoft Docs: - - - - The Shader version, as an encoded UINT that corresponds to a shader model, such as "ps_5_0". - Version describes the program type, a major version number, and a minor version number. - The program type is a D3D12_SHADER_VERSION_TYPE enumeration constant. - Version is decoded in the following way: - - -
    -
  • Program type = (Version & 0xFFFF0000) >> 16
  • -
  • Major version = (Version & 0x000000F0) >> 4
  • -
  • Minor version = (Version & 0x0000000F)
  • -
-
- - 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. - - - - Describes a CPU descriptor handle. - Microsoft Docs: - - - - The address of the descriptor. - - - - Gets the type of the command list, such as direct, bundle, compute, or copy. - Microsoft Docs: - - - - - Specifies whether a video decode conversion operation is supported. - Microsoft Docs: - - - - The video decode conversion operation isn't supported. - - - The video decode conversion operation is supported. - - - - Identifies the type of data contained in an input slot. - Microsoft Docs: - - - - Input data is per-vertex data. - - - Input data is per-instance data. - - - - Push an empty retrieval filter onto the retrieval-filter stack. - Microsoft Docs: - - - - - Specifies the type of root signature slot. - Microsoft Docs: - - - - The slot is for a descriptor table. - - - The slot is for root constants. - - - The slot is for a constant-buffer view (CBV). - - - The slot is for a shader-resource view (SRV). - - - The slot is for a unordered-access view (UAV). - - - - Add storage filters to the top of the storage-filter stack. - Microsoft Docs: - Array of storage filters. - - - - - Describes, as a node in a linked list, data about an allocation tracked by Device Removed Extended Data (DRED). - Microsoft Docs: - - - - A pointer to the ANSI debug name of the allocated runtime object. - - - A pointer to the wide debug name of the allocated runtime object. - - - A D3D12_DRED_ALLOCATION_TYPE value representing the runtime object's allocation type. - - - A pointer to a constant D3D12_DRED_ALLOCATION_NODE representing the next allocation node in the list, or nullptr if this is the last node. - - - - Provides methods for getting and setting the properties of an ID3D12StateObject. - Microsoft Docs: - - - - - Indicates the level of support that the adapter provides for timestamp queries, format-casting, immediate write, view instancing, and barycentrics. - Microsoft Docs: - - - - Indicates whether timestamp queries are supported on copy queues. - - - Indicates whether casting from one fully typed format to another, compatible, format is supported. - - - Indicates the kinds of command lists that support the ability to write an immediate value directly from the command stream into a specified buffer. - - - Indicates the level of support the adapter has for view instancing. - - - Indicates whether barycentrics are supported. - - - - 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 ID3D12Device::CreateShaderResourceView creates a view) -1. - - - The maximum number of mipmap levels for the view of the texture. See the remarks in D3D12_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. - - - A value to clamp sample LOD values to. For example, if you specify 2.0f for the clamp value, you ensure that no individual sample accesses a mip level less than 2.0f. - - - - Describes the clear value to which resource(s) should be cleared at the beginning of a render pass. - Microsoft Docs: - - - - A D3D12_CLEAR_VALUE. The clear value to which the resource(s) should be cleared. - - - - Sets a CPU descriptor handle for the vertex buffers. - Microsoft Docs: - Index into the device's zero-based array to begin setting vertex buffers. - The number of views in the pViews array. - Specifies the vertex buffer views in an array of D3D12_VERTEX_BUFFER_VIEW structures. - - - - - Represents facilities for controlling the lifetime a lifetime-tracked object. - Microsoft Docs: - - - - - Gets a constant buffer by index for a function. - Microsoft Docs: - Zero-based index. - - - - - Defines flags that specify states related to a graphics command list. Values can be bitwise OR'd together. - Microsoft Docs: - - - - Specifies no state. - - - Specifies the state of the vertex buffer bindings on the input assembler stage. - - - Specifies the state of the index buffer binding on the input assembler stage. - - - Specifies the state of the primitive topology value set on the input assembler stage. - - - Specifies the state of the currently bound descriptor heaps. - - - Specifies the state of the currently set graphics root signature. - - - Specifies the state of the currently set compute root signature. - - - Specifies the state of the viewports bound to the rasterizer stage. - - - Specifies the state of the scissor rectangles bound to the rasterizer stage. - - - Specifies the predicate state. - - - Specifies the state of the render targets bound to the output merger stage. - - - Specifies the state of the reference value for depth stencil tests set on the output merger stage. - - - Specifies the state of the blend factor set on the output merger stage. - - - Specifies the state of the pipeline state object. - - - Specifies the state of the buffer views bound to the stream output stage. - - - Specifies the state of the depth bounds set on the output merger stage. - - - Specifies the state of the sample positions. - - - Specifies the state of the view instances mask. - - - - Indicates to re-use the memory that is associated with the command allocator. - Microsoft Docs: - - - - - Holds any version of a root signature description, and is designed to be used with serialization/deserialization functions. - Microsoft Docs: - - - - Specifies one member of D3D_ROOT_SIGNATURE_VERSION that determines the contents of the union. - - - Specifies a D3D12_ROOT_SIGNATURE_DESC (version 1.0). - - - Specifies a D3D12_ROOT_SIGNATURE_DESC1 (version 1.1). - - - - Identifies the tier level at which tiled resources are supported. - Microsoft Docs: - - - - Indicates that textures cannot be created with the D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE layout. - - - -ID3D12Device::CreateReservedResource cannot be used, not even for buffers. - - - Indicates that 2D textures can be created with the D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE layout. - Limitations exist for certain resource formats and properties. - For more details, see D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE. - - - -ID3D12Device::CreateReservedResource can be used. - - -GPU reads or writes to NULL mappings are undefined. - Applications are encouraged to workaround this limitation by repeatedly mapping the same page to everywhere a NULL mapping would've been used. - - -When 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. - - - Indicates that a superset of Tier_1 functionality is supported, including this additional support: - - -
    -
  • When the size of a texture mipmap level is at least one standard tile shape for its format, the mipmap level is guaranteed to be nonpacked. - For more info, see D3D12_PACKED_MIP_INFO. -
  • -
  • 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). - Sample(S,float,int,float,uint). -
  • -
  • Reading from NULL-mapped tiles treat that sampled value as zero. - Writes to NULL-mapped tiles are discarded. -
  • -
-Adapters that support feature level 12_0 all support TIER_2 or greater.
-
- - Indicates that a superset of Tier 2 is supported, with the addition that 3D textures (Volume Tiled Resources) are supported. - - - - Creates a descriptor heap object. - Microsoft Docs: - A pointer to a D3D12_DESCRIPTOR_HEAP_DESC structure that describes the heap. - The globally unique identifier (GUID) for the descriptor heap interface. See Remarks. - An input parameter. - A pointer to a memory block that receives a pointer to the descriptor heap. - ppvHeap can be NULL, to enable capability testing. - When ppvHeap is NULL, no object will be created and S_FALSE will be returned when pDescriptorHeapDesc is valid. - - - - - Sets all the elements in a render target to one value. - Microsoft Docs: - Specifies a D3D12_CPU_DESCRIPTOR_HANDLE structure that describes the CPU descriptor handle that represents the start of the heap for the render target to be cleared. - A 4-component array that represents the color to fill the render target with. - The number of rectangles in the array that the pRects parameter specifies. - An array of D3D12_RECT structures for the rectangles in the resource view to clear. If NULL, ClearRenderTargetView clears the entire resource view. - - - - - Adds configurable levels of GPU-based validation to the debug layer. - Microsoft Docs: - - - - - A reference counted object representing the video extension command. - Microsoft Docs: - - - - - Gets the function parameter reflector. - Microsoft Docs: - The zero-based index of the function parameter reflector to retrieve. - - - - - Describes parameters needed to allocate resources. - Microsoft Docs: - - - - The size, in bytes, of the resource. - - - The alignment value for the resource; one of 4KB (4096), 64KB (65536), or 4MB (4194304) alignment. - - - - 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. - - - - - Describes 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. Use, for example, if you have more than one texture coordinate stored in each vertex. - - - The 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, StartComponent is 1 and ComponentCount is 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, StartComponent is 1 and ComponentCount is 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. - The valid range for OutputSlot is 0 to 3. - - - - Indicates the level of support for protected resource sessions. - Microsoft Docs: - - - - An input field, indicating the adapter index to query. - - - An output field indicating the type of protected resource session support. - - - - Indicates whether a class type implements an interface. - Microsoft Docs: - A pointer to a ID3D12ShaderReflectionType Interface. - - - - - Specifies the type of acceleration structure post-build info that can be retrieved with calls to EmitRaytracingAccelerationStructurePostbuildInfo and BuildRaytracingAccelerationStructure. - Microsoft Docs: - - - - The post-build info is space requirements for an acceleration structure after compaction. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC. - - - The post-build info is space requirements for generating tools visualization for an acceleration structure. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC. - - - The post-build info is space requirements for serializing an acceleration structure. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC. - - - The post-build info is size of the current acceleration structure. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC. - - - - Converts root signature description structures to a requested version. - Microsoft Docs: - Specifies the required D3D_ROOT_SIGNATURE_VERSION. - Contains the deserialized root signature in a D3D12_VERSIONED_ROOT_SIGNATURE_DESC structure. - - - - - Sets the view for the index buffer. - Microsoft Docs: - The view specifies the index buffer's address, size, and DXGI_FORMAT, as a pointer to a D3D12_INDEX_BUFFER_VIEW structure. - - - - - Specifies the mode used by a WriteBufferImmediate operation. - Microsoft Docs: - - - - The write operation behaves the same as normal copy-write operations. - - - The write operation is guaranteed to occur after all preceding commands in the command stream have started, including previous WriteBufferImmediate operations. - - - The write operation is deferred until all previous commands in the command stream have completed through the GPU pipeline, including previous WriteBufferImmediate operations. Write operations that specify D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT don't block subsequent operations from starting. If there are no previous operations in the command stream, then the write operation behaves as if D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN was specified. - - - - 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 -1 (where MipLevels is from the original Texture2D for which ID3D12Device::CreateShaderResourceView creates a view). - - - The maximum number of mipmap levels for the view of the texture. See the remarks in D3D12_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. - - - A value to clamp sample LOD values to. For example, if you specify 2.0f for the clamp value, you ensure that no individual sample accesses a mip level less than 2.0f. - - - - Monitors the validity of a protected resource session. - Microsoft Docs: - - - - - Gets the number of Mov instructions. - Microsoft Docs: - - - - - Describes the coordinates of a resource. - Microsoft Docs: - - - - The x-coordinate of the resource. - - - The y-coordinate of the resource. - - - The z-coordinate of the resource. - - - The index of the subresource for the resource. - - - - Specifies the level of sharing across nodes of an adapter, such as Tier 1 Emulated, Tier 1, or Tier 2. - Microsoft Docs: - - - - If an adapter has only 1 node, then cross-node sharing doesn't apply, so the CrossNodeSharingTier member of the D3D12_FEATURE_DATA_D3D12_OPTIONS structure is set to D3D12_CROSS_NODE_SHARING_NOT_SUPPORTED. - - - Tier 1 Emulated. Devices that set the CrossNodeSharingTier member of the D3D12_FEATURE_DATA_D3D12_OPTIONS structure to D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED have Tier 1 support. -However, drivers stage these copy operations through a driver-internal system memory allocation. This will cause these copy operations to consume time on the destination GPU as well as the source. - - - Tier 1. Devices that set the CrossNodeSharingTier member of the D3D12_FEATURE_DATA_D3D12_OPTIONS structure to D3D12_CROSS_NODE_SHARING_TIER_1 only support the following cross-node copy operations: - - - -Additionally, the cross-node resource must be the destination of the copy operation. - - - Tier 2. Devices that set the CrossNodeSharingTier member of the D3D12_FEATURE_DATA_D3D12_OPTIONS structure to D3D12_CROSS_NODE_SHARING_TIER_2 support all operations across nodes, except for the following: - -
    -
  • Render target views.
  • -
  • Depth stencil views.
  • -
  • UAV atomic operations. Similar to CPU/GPU interop, shaders may perform UAV atomic operations; however, no atomicity across adapters is guaranteed.
  • -
-Applications can retrieve the node where a resource/heap exists from the D3D12_HEAP_DESC structure. These values are retrievable for opened resources. The runtime performs the appropriate re-mapping in case the 2 devices are using different UMD-specified node re-mappings.
-
- - Indicates support for [D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS](./ne-d3d12-d3d12_heap_flags.md) on heaps that are visible to multiple nodes. - - - - Describes allocation data related to a GPU page fault on a given virtual address (VA). - Microsoft Docs: - - - - A D3D12_GPU_VIRTUAL_ADDRESS containing the GPU virtual address (VA) of the faulting operation if device removal was due to a GPU page fault. - - - A pointer to a constant D3D12_DRED_ALLOCATION_NODE object representing the head of a linked list of allocation nodes for active allocated runtime objects with virtual address (VA) ranges that match the faulting VA (PageFaultVA). Has a value of nullptr if the list is empty. - - - A pointer to a constant D3D12_DRED_ALLOCATION_NODE object representing the head of a linked list of allocation nodes for recently freed runtime objects with virtual address (VA) ranges that match the faulting VA (PageFaultVA). Has a value of nullptr if the list is empty. - - - - Describes the footprint of a placed subresource, including the offset and the D3D12_SUBRESOURCE_FOOTPRINT. - Microsoft Docs: - - - - The offset of the subresource within the parent resource, in bytes. - The offset between the start of the parent resource and this subresource. - - - The format, width, height, depth, and row-pitch of the subresource, - as a D3D12_SUBRESOURCE_FOOTPRINT structure. - - - - Specifies the volatility of the data referenced by descriptors in a Root Signature 1.1 description, which can enable some driver optimizations. - Microsoft Docs: - - - - Default assumptions are made for data (for SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE, and for UAV: DATA_VOLATILE). - - - Data is volatile. Equivalent to Root Signature Version 1.0. - - - Data is static while set at execute. - - - Data is static. The best potential for driver optimization. - - - - Represents the allocations of storage for graphics processing unit (GPU) commands. - Microsoft Docs: - - - - - Gets the description of the command queue. - Microsoft Docs: - - - - - Indicates the level of support that the adapter provides for render passes, ray tracing, and shader-resource view tier 3 tiled resources. - Microsoft Docs: - - - - A boolean value indicating whether the options require shader-resource view tier 3 tiled resource support. For more information, see D3D12_TILED_RESOURCES_TIER. - - - The extent to which a device driver and/or the hardware efficiently supports render passes. See D3D12_RENDERPASS_TIER. - - - - Contains the list of reference frames for the current decode operation. - Microsoft Docs: - - - - The number of references specified in the ppTexture2Ds field. - - - A list of reference textures. When specifying texture arrays, each entry will be point to the same resource. When specifying an array of textures, each entry will point to a separate resource. - - - An array of subresource indices for the reference textures specified in ppTexture2Ds. NULL indicates that subresource 0 should be assumed for each resource. - -With texture arrays within a single resource, the subresource indices point to the array index of the first resource plane. With an array of textures in individual resources, the subresource index is typically zero. - -The video device driver uses the "PicEntry" indices defined in the DXVA spec for the codec to dereference this array to find the subresource index to use with the corresponding resource. For example, in HEVC, the Driver uses [DXVA_PicEntry_HEVC::Index7Bits](/windows/win32/medfound/dxva-picentry-hevc) as an index for this array. - - - An array of ID3D12VideoDecoderHeap objects. This field is used with formats that support non-key frame resolution changes, allowing the caller to pass in the previous resolution's heap, relative to the reference it's being used for, in addition to the current resolution heap. - - - - Adds support for protected resources. - Microsoft Docs: - - - - - Describes a resource, such as a texture. This structure is used extensively. - Microsoft Docs: - - - - One member of D3D12_RESOURCE_DIMENSION, specifying the dimensions of the resource (for example, D3D12_RESOURCE_DIMENSION_TEXTURE1D), or whether it is a buffer ((D3D12_RESOURCE_DIMENSION_BUFFER). - - - Specifies the alignment. - - - Specifies the width of the resource. - - - Specifies the height of the resource. - - - Specifies the depth of the resource, if it is 3D, or the array size if it is an array of 1D or 2D resources. - - - Specifies the number of MIP levels. - - - Specifies one member of DXGI_FORMAT. - - - Specifies a DXGI_SAMPLE_DESC structure. - - - Specifies one member of D3D12_TEXTURE_LAYOUT. - - - Bitwise-OR'd flags, as D3D12_RESOURCE_FLAGS enumeration constants. - - - - Fills the parameter descriptor structure for the function's parameter. - Microsoft Docs: - A pointer to a D3D12_PARAMETER_DESC structure that receives a description of the function's parameter. - - - - - Specifies how memory gets routed by a shader resource view (SRV). - Microsoft Docs: - - - - Indicates return component 0 (red). - - - Indicates return component 1 (green). - - - Indicates return component 2 (blue). - - - Indicates return component 3 (alpha). - - - Indicates forcing the resulting value to 0. - - - Indicates forcing the resulting value 1. The value of forcing 1 is either 0x1 or 1.0f depending on the format type for that component in the source format. - - - - Specifies alpha blending parameters for video processing. - Microsoft Docs: - - - - A boolean value specifying 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 single element for the input-assembler stage of the graphics pipeline. - 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). - - - A DXGI_FORMAT-typed value that specifies the format of the element data. - - - An integer value that identifies the input-assembler. For more info, see Input Slots. Valid values are between 0 and 15. - - - Optional. Offset, in bytes, to this element from the start of the vertex. Use D3D12_APPEND_ALIGNED_ELEMENT (0xffffffff) for convenience to define the current element directly - after the previous one, including any packing if necessary. - - - A value that identifies the input data class for a single input slot. - - - 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 the D3D12_INPUT_PER_VERTEX_DATA member of D3D12_INPUT_CLASSIFICATION). - - - - Describes depth-stencil state. - Microsoft Docs: - - - - Specifies whether to enable depth testing. Set this member to TRUE to enable depth testing. - - - A D3D12_DEPTH_WRITE_MASK-typed value that identifies a portion of the depth-stencil buffer that can be modified by depth data. - - - A D3D12_COMPARISON_FUNC-typed value that identifies a function that compares depth data against existing depth data. - - - Specifies whether to enable stencil testing. Set this member to TRUE to 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. - - - A D3D12_DEPTH_STENCILOP_DESC structure that describes how to use the results of the depth test and the stencil test for pixels whose surface normal is facing towards the camera. - - - A D3D12_DEPTH_STENCILOP_DESC structure that describes how to use the results of the depth test and the stencil test for pixels whose surface normal is facing away from the camera. - - - TRUE to enable depth-bounds testing; otherwise, FALSE. The default value is FALSE. - - - - Identifies the type of resource that will be viewed as a shader resource. - Microsoft Docs: - - - - The type is unknown. - - - The resource is a buffer. - - - The resource is a 1D texture. - - - The resource is an array of 1D textures. - - - The resource is a 2D texture. - - - The resource is an array of 2D textures. - - - The resource is a multisampling 2D texture. - - - The resource is an array of multisampling 2D textures. - - - The resource is a 3D texture. - - - The resource is a cube texture. - - - The resource is an array of cube textures. - - - The resource is a raytracing acceleration structure. - - - - Pop a retrieval filter from the top of the retrieval-filter stack. - Microsoft Docs: - - - - - Identifies whether conservative rasterization is on or off. - Microsoft Docs: - - - - Conservative rasterization is off. - - - Conservative rasterization is on. - - - - Gets a shader-reflection variable by name. - Microsoft Docs: - Variable name. - - - - - Describes 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 ID3D12Device::CreateShaderResourceView creates a view) -1. - - - The maximum number of mipmap levels for the view of the texture. See the remarks in D3D12_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. - - - A value to clamp sample LOD values to. For example, if you specify 2.0f for the clamp value, you ensure that no individual sample accesses a mip level less than 2.0f. - - - - Sets a constant in the graphics root signature. - Microsoft Docs: - The slot number for binding. - The source data for the constant to set. - The offset, in 32-bit values, to set the constant in the root signature. - - - - - Specifies input stream arguments for an input stream passed to ID3D12VideoCommandList::ProcessFrames. - Microsoft Docs: - - - - An array of D3D12_VIDEO_PROCESS_INPUT_STREAM structures containing the set of references for video processing. If the stereo format is D3D12_VIDEO_PROCESS_STEREO_FORMAT_SEPARATE, then two sets of input streams must be supplied. For all other stereo formats, the first set of reference must be supplied, and the second should be zero initialized. - - - A D3D12_VIDEO_PROCESS_TRANSFORM structure specifying the flip, rotation, scale and destination translation for the video input. - - - A value from the D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS enumeration specifying the options for the input stream. - - - A D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE structure specifying the framerate and input and output indicies for framerate conversion and deinterlacing. - - - The level to apply for each enabled filter. The filter level is specified in the order that filters appear in the D3D12_VIDEO_PROCESS_FILTER_FLAGS enumeration. Specify 0 if a filter is not enabled or the filter index is reserved. - - - A D3D12_VIDEO_PROCESS_ALPHA_BLENDING structure specifying the planar alpha for an input stream on the video processor. - - - - Specifies the immediate value and destination address written using ID3D12CommandList2::WriteBufferImmediate. - Microsoft Docs: - - - - The GPU virtual address at which to write the value. The address must be aligned to a 32-bit (4-byte) boundary. - - - The 32-bit value to write. - - - - Specifies the configuration for video decoding. - Microsoft Docs: - - - - No configuration flags. - - - The height of the output decoded surfaces must be a multiple of 32. - - - The driver supports post processing. If this flag is set, the host decoder can set up post-processing by using the conversion flags in the D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS. - - - Reference resources must be allocated with the D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY resource flag. References textures must be separate from output textures, similar to performing a format conversion or downscale. This flag must not be set for D3D12_VIDEO_DECODE_TIER_3 or greater. - - - The decode resolution can be changed on a non-key frame. - - - - Describes the allocation size of a video decoder heap. - Microsoft Docs: - - - - A D3D12_VIDEO_DECODER_HEAP_DESC describing a ID3D12VideoDecoderHeap. - - - The allocation size of the video decoder heap in the L0 memory pool. L0 is the physical system memory pool. When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU. When the adapter is UMA, this pool is the only one which is valid. For more information, see Residency. - - - The allocation size of the video decoder heap in the L1 memory pool. L1 is typically known as the physical video memory pool. L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU. When the adapter is UMA, this pool is not available. For more information, see Residency. - - - - This method creates a command signature. - Microsoft Docs: - Describes the command signature to be created with the D3D12_COMMAND_SIGNATURE_DESC structure. - Specifies the ID3D12RootSignature that the command signature applies to. - - -The root signature is required if any of the commands in the signature will update bindings on the pipeline. If the only command present is a draw or dispatch, the root signature parameter can be set to NULL. - The globally unique identifier (GUID) for the command signature interface (ID3D12CommandSignature). - The REFIID, or GUID, of the interface to the command signature can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12CommandSignature) will get the GUID of the interface to a command signature. - Specifies a pointer, that on successful completion of the method will point to the created command signature (ID3D12CommandSignature). - - - - - Gets info about how a tiled resource is broken into tiles. - Microsoft Docs: - Specifies a tiled ID3D12Resource 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 D3D12_PACKED_MIP_INFO structure that GetResourceTiling fills with info about how the tiled resource's mipmaps are packed. - Specifies a D3D12_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 D3D12_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. - Specifies a D3D12_SUBRESOURCE_TILING structure that GetResourceTiling fills with info about subresource tiles. If subresource tiles are part of packed mipmaps, GetResourceTiling sets the members of D3D12_SUBRESOURCE_TILING to zeros, except the StartTileIndexInOverallResource member, which GetResourceTiling sets to D3D12_PACKED_TILE (0xffffffff). The D3D12_PACKED_TILE constant indicates that the whole D3D12_SUBRESOURCE_TILING structure is meaningless for this situation, and the info that the pPackedMipDesc parameter points to applies. - - - - - Shares a resource (or subresource) between the D3D layers and diagnostics tools. - Microsoft Docs: - A pointer to the resource that contains the final frame contents. This resource is treated as the back buffer of the Present. - An unsigned 32bit subresource id. - If provided, indicates which window the tools should use for displaying additional diagnostic information. - - - - - Describes per-command-list settings used by GPU-Based Validation. - Microsoft Docs: - - - - Specifies a D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE that overrides the default device-level shader patch mode (see ID3D12DebugDevice1::SetDebugParameter). By default this value is initialized to the DefaultShaderPatchMode assigned to the device (see D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS. - - - - A state subobject that identifies the GPU nodes to which the state object applies. - Microsoft Docs: - - - - The node mask. - - - - Represents the state of all currently set shaders as well as certain fixed function state objects. - Microsoft Docs: - - - - - Specifies the parameters for the output stream for a video decode operation. - Microsoft Docs: - - - - An ID3D12Resource representing the output texture. If decode conversion is enabled, this texture will contain the post-conversion output. If decode conversion is not enabled, this texture will contain the decode output. - - - The index of the output subresource of pOutputTexture2D to use. This allows you to specify array indices if the output is an array. - - - An optional D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS structure containing output conversion parameters. - - - An array of D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM structures that are populated with histogram data. The maximum size of the array is 4. - - - - Defines general properties of a state object. - Microsoft Docs: - - - - A value from the D3D12_STATE_OBJECT_FLAGS flags enumeration that specifies the requirements for the state object. - - - - Represents an application-defined callback used for being notified of lifetime changes of an object. - Microsoft Docs: - - - - - 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. - Emits default values for reflection. - - - 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 whether a video format and colorspace conversion operation is supported. - Microsoft Docs: - - - - The conversion from the source format and colorspace to destination format and colorspace are not supported. - - - The conversion from the source format and colorspace to destination format and colorspace are are supported. - - - - Updates a fence to a specified value. - Microsoft Docs: - A pointer to the ID3D12Fence object. - The value to set the fence to. - - - - - An interface from which ID3D12GraphicsCommandList inherits from. It represents an ordered set of commands that the GPU executes, while allowing for extension to support other command lists than just those for graphics (such as compute and copy). - Microsoft Docs: - - - - - Specifies the type of query. - Microsoft Docs: - - - - Indicates the query is for depth/stencil occlusion counts. - - - Indicates the query is for a binary depth/stencil occlusion statistics. - -This new query type acts like D3D12_QUERY_TYPE_OCCLUSION except that it returns simply a binary 0/1 result: 0 indicates that no samples passed depth and stencil testing, 1 indicates that at least one sample passed depth and stencil testing. This enables occlusion queries to not interfere with any GPU performance optimization associated with depth/stencil testing. - - - Indicates the query is for high definition GPU and CPU timestamps. - - - Indicates the query type is for graphics pipeline statistics, refer to D3D12_QUERY_DATA_PIPELINE_STATISTICS. - - - Stream 0 output statistics. In Direct3D 12 there is no single stream output (SO) overflow query for all the output streams. Apps need to issue multiple single-stream queries, and then correlate the results. Stream output is the ability of the GPU to write vertices to a buffer. The stream output counters monitor progress. - - - Stream 1 output statistics. - - - Stream 2 output statistics. - - - Stream 3 output statistics. - - - Video decode statistics. Refer to D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS. - -Use this query type to determine if a video was successfully decoded. If decoding fails due to insufficient BitRate or FrameRate parameters set during creation of the decode heap, then the status field of the query is set to D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED and the query also contains new BitRate and FrameRate values that would succeed. - -This query type can only be performed on video decode command lists [(D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE)](/windows/desktop/api/d3d12/ne-d3d12-d3d12_command_list_type). This query type does not use [ID3D12VideoDecodeCommandList::BeginQuery](../d3d12video/nf-d3d12video-id3d12videodecodecommandlist-beginquery.md), only [ID3D12VideoDecodeCommandList::EndQuery](../d3d12video/nf-d3d12video-id3d12videodecodecommandlist-endquery.md). Statistics are recorded only for the most recent [ID3D12VideoDecodeCommandList::DecodeFrame](../d3d12video/nf-d3d12video-id3d12videodecodecommandlist-decodeframe.md) call in the same command list. - -Decode status structures are defined by the codec specification. - - - - Resets the state of a direct command list back to the state it was in when the command list was created. - Microsoft Docs: - A pointer to the ID3D12PipelineState object that contains the initial pipeline state for the command list. - - - - - Gets the number of conversion instructions. - Microsoft Docs: - - - - - Specifies the predication operation to apply. - Microsoft Docs: - - - - Enables predication if all 64-bits are zero. - - - Enables predication if at least one of the 64-bits are not zero. - - - - Provides data for calls to ID3D12VideoDevice::CheckFeatureSupport when the feature specified is D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A GUID representing the decode profile for which histogram capabilities will be queried. Get a list of available profile GUIDs by calling [ID3D12VideoDevice::CheckFeatureSupport](nf-d3d12video-id3d12videodevice-checkfeaturesupport.md) when the feature specified is D3D12\_FEATURE\_VIDEO\_DECODE\_PROFILES. - - - The decode width of the source stream. - - - The decode height of the source stream. - - - The DXGI\_FORMAT representing the decode format. - - - A bitwise OR combination of values from the D3D12_VIDEO_DECODE_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. - - - - A state subobject describing an existing collection that can be included in a state object. - Microsoft Docs: - - - - The collection to include in a state object. The enclosing state object holds a reference to the existing collection. - - - Size of the pExports array. If 0, all of the collection’s exports get exported. - - - - Apps perform indirect draws/dispatches using the ExecuteIndirect method. - Microsoft Docs: - Specifies a ID3D12CommandSignature. The data referenced by pArgumentBuffer will be interpreted depending on the contents of the command signature. Refer to Indirect Drawing for the APIs that are used to create a command signature. - There are two ways that command counts can be specified: - -
    -
  • If pCountBuffer is not NULL, then MaxCommandCount specifies the maximum number of operations which will be performed. The actual number of operations to be performed are defined by the minimum of this value, and a 32-bit unsigned integer contained in pCountBuffer (at the byte offset specified by CountBufferOffset). -
  • -
  • If pCountBuffer is NULL, the MaxCommandCount specifies the exact number of operations which will be performed. -
  • -
- Specifies one or more ID3D12Resource objects, containing the command arguments. - Specifies an offset into pArgumentBuffer to identify the first command argument. - Specifies a pointer to a ID3D12Resource. - Specifies a UINT64 that is the offset into pCountBuffer, identifying the argument count. -
-
- - - Ends a running query. - Microsoft Docs: - Specifies the ID3D12QueryHeap containing the query. - Specifies one member of D3D12_QUERY_TYPE. - Specifies the index of the query in the query heap. - - - - - Specifies 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 ID3D12GraphicsCommandList::OMSetBlendFactor. No pre-blend operation. - - - The blend factor is the blend factor set with ID3D12GraphicsCommandList::OMSetBlendFactor. 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. - - - - Retrieves the unique identifier for a shader that can be used in a shader record. - Microsoft Docs: - Entrypoint in the state object for which to retrieve an identifier. - - - - - Specifies the border color for a static sampler. - Microsoft Docs: - - - - Indicates black, with the alpha component as fully transparent. - - - Indicates black, with the alpha component as fully opaque. - - - Indicates white, with the alpha component as fully opaque. - - - - Specifies 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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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 D3D12_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. - - - - Provides methods to monitor and debug a command list. - Microsoft Docs: - - - - - Describes the blend state. - 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 D3D12_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. - - - - An interface from which many other core interfaces inherit from. It indicates that the object type encapsulates some amount of GPU-accessible memory; but does not strongly indicate whether the application can manipulate the object's residency. - Microsoft Docs: - - - - - Adds support for video extension commands. - Microsoft Docs: - - - - - Copies mappings from a source reserved resource to a destination reserved resource. - Microsoft Docs: - A pointer to the destination reserved resource. - A pointer to a - D3D12_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the destination reserved resource. - A pointer to the source reserved resource. - A pointer to a D3D12_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the source reserved resource. - A pointer to a D3D12_TILE_REGION_SIZE structure that describes the size of the reserved region. - One member of D3D12_TILE_MAPPING_FLAGS. - - - - - Specifies logical operations to configure for a render target. - Microsoft Docs: - - - - Clears the render target (0). - - - Sets the render target ( 1). - - - Copys the render target (s source from Pixel Shader output). - - - Performs an inverted-copy of the render target (~s). - - - No operation is performed on the render target (d destination in the Render Target View). - - - Inverts the render target (~d). - - - Performs a logical AND operation on the render target (s & d). - - - Performs a logical NAND operation on the render target (~(s & d)). - - - Performs a logical OR operation on the render target (s | d). - - - Performs a logical NOR operation on the render target (~(s | d)). - - - Performs a logical XOR operation on the render target (s ^ d). - - - Performs a logical equal operation on the render target (~(s ^ d)). - - - Performs a logical AND and reverse operation on the render target (s & ~d). - - - Performs a logical AND and invert operation on the render target (~s & d). - - - Performs a logical OR and reverse operation on the render target (s | ~d). - - - Performs a logical OR and invert operation on the render target (~s | d). - - - - 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 GetNumStoredMessagesAllowedByRetrievalFilter). 0 is the message at the front of the message queue. - Returned message. - Size of pMessage in bytes. - - - - - Describes the subresources involved in resolving at the conclusion of a render pass. - Microsoft Docs: - - - - A UINT. The source subresource. - - - A UINT. The destination subresource. - - - A UINT. The x coordinate within the destination subresource. - - - A UINT. The y coordinate within the destination subresource. - - - A D3D12_RECT. The rectangle within the source subresource. - - - - Creates a resource that is placed in a specific heap. Placed resources are the lightest weight resource objects available, and are the fastest to create and destroy. - Microsoft Docs: - A pointer to the ID3D12Heap interface that represents the heap in which the resource is placed. - The offset, in bytes, to the resource. The HeapOffset must be a multiple of the resource's alignment, and HeapOffset plus the resource size must be smaller than or equal to the heap size. GetResourceAllocationInfo must be used to understand the sizes of texture resources. - A pointer to a D3D12_RESOURCE_DESC structure that describes the resource. - The initial state of the resource, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. - -When a resource is created together with a D3D12_HEAP_TYPE_UPLOAD heap, InitialState must be D3D12_RESOURCE_STATE_GENERIC_READ. When a resource is created together with a D3D12_HEAP_TYPE_READBACK heap, InitialState must be D3D12_RESOURCE_STATE_COPY_DEST. - Specifies a D3D12_CLEAR_VALUE that describes the default value for a clear color. - -pOptimizedClearValue specifies a value for which clear operations are most optimal. When the created resource is a texture with either the D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET or D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL flags, your application should choose the value that the clear operation will most commonly be called with. - -Clear operations can be called with other values, but those operations will not be as efficient as when the value matches the one passed into resource creation. - -pOptimizedClearValue must be NULL when used with D3D12_RESOURCE_DIMENSION_BUFFER. - The globally unique identifier (GUID) for the resource interface. This is an input parameter. - -The REFIID, or GUID, of the interface to the resource can be obtained by using the __uuidof macro. For example, __uuidof(ID3D12Resource) gets the GUID of the interface to a resource. Although riid is, most commonly, the GUID for ID3D12Resource, it may be any GUID for any interface. If the resource object doesn't support the interface for this GUID, then creation fails with E_NOINTERFACE. - A pointer to a memory block that receives a pointer to the resource. ppvResource can be NULL, to enable capability testing. When ppvResource is NULL, no object will be created and S_FALSE will be returned when pResourceDesc and other parameters are valid. - - - - - Creates a command queue. - Microsoft Docs: - Specifies a D3D12_COMMAND_QUEUE_DESC that describes the command queue. - The globally unique identifier (GUID) for the command queue interface. See remarks. An input parameter. - A pointer to a memory block that receives a pointer to the ID3D12CommandQueue interface for the command queue. - - - - - Specifies the level of ray tracing support on the graphics device. - Microsoft Docs: - - - - No support for ray tracing on the device. Attempts to create any ray tracing-related object will fail, and using ray tracing-related APIs on command lists results in undefined behavior. - - - The device supports tier 1 ray tracing functionality. In the current release, this tier represents all available ray tracing features. - - - - 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). - This is zero if the shader resource is not a recognized texture. - - - The register space. - - - The range ID in the bytecode. - - - - Gets a shader-reflection-variable type by index. - Microsoft Docs: - Zero-based index. - - - - - Gets a resource layout that can be copied. Helps the app fill-in D3D12_PLACED_SUBRESOURCE_FOOTPRINT and D3D12_SUBRESOURCE_FOOTPRINT when suballocating space in upload heaps. - Microsoft Docs: - A description of the resource, as a pointer to a D3D12_RESOURCE_DESC structure. - Index of the first subresource in the resource. - The range of valid values is 0 to D3D12_REQ_SUBRESOURCES. - The number of subresources in the resource. The range of valid values is 0 to (D3D12_REQ_SUBRESOURCES - FirstSubresource). - The offset, in bytes, to the resource. - A pointer to an array (of length NumSubresources) of - D3D12_PLACED_SUBRESOURCE_FOOTPRINT structures, to be filled with the description and placement of each subresource. - A pointer to an array (of length NumSubresources) of integer variables, to be filled with the number of rows for each subresource. - A pointer to an array (of length NumSubresources) of integer variables, each entry to be filled with the unpadded size in bytes of a row, of each subresource. - - -For example, if a Texture2D resource has a width of 32 and bytes per pixel of 4, - -then pRowSizeInBytes returns 128. - -pRowSizeInBytes should not be confused with row pitch, as examining pLayouts and getting the row pitch from that will give you 256 as it is aligned to D3D12_TEXTURE_DATA_PITCH_ALIGNMENT. - A pointer to an integer variable, to be filled with the total size, in bytes. - - - - - Reports information about a device object's lifetime. - Microsoft Docs: - A value from the D3D12_RLDO_FLAGS enumeration. - This method uses the value in Flags to determine the amount of information to report about a device object's lifetime. - - - - - An interface used to turn on the debug layer. - Microsoft Docs: - - - - - Gets a variable by name. - Microsoft Docs: - A pointer to a string containing the variable name. - - - - - Defines priority levels for a command queue. - Microsoft Docs: - - - - Normal priority. - - - High priority. - - - Global realtime priority. - - - - An interface from which ID3D12Device and ID3D12DeviceChild inherit from. It provides methods to associate private data and annotate object names. - Microsoft Docs: - - - - - Executes a bundle. - Microsoft Docs: - Specifies the ID3D12GraphicsCommandList that determines the bundle to be executed. - - - - - Describes how the locations of elements are identified. - Microsoft Docs: - - - - For a data set of n elements, the pointer parameter points to the start of n elements in memory. - - - For a data set of n elements, the pointer parameter points to an array of n pointers in memory, each pointing to an individual element of the set. - - - - Represents a Direct3D 12 video decoder. - Microsoft Docs: - - - - - Updates mappings of tile locations in reserved resources to memory locations in a resource heap. - Microsoft Docs: - A pointer to the reserved resource. - The number of reserved resource regions. - An array of D3D12_TILED_RESOURCE_COORDINATE structures that describe the starting coordinates of the reserved resource regions. The NumResourceRegions parameter specifies the number of D3D12_TILED_RESOURCE_COORDINATE structures in the array. - An array of D3D12_TILE_REGION_SIZE structures that describe the sizes of the reserved resource regions. The NumResourceRegions parameter specifies the number of D3D12_TILE_REGION_SIZE structures in the array. - A pointer to the resource heap. - The number of tile ranges. - A pointer to an array of D3D12_TILE_RANGE_FLAGS values that describes each tile range. The NumRanges parameter specifies the number of values in the array. - An array of offsets into the resource heap. 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 range. The NumRanges parameter specifies the number of values in the array. - A combination of D3D12_TILE_MAPPING_FLAGS values that are combined by using a bitwise OR operation. - - - - - This method enables you to change the depth bounds dynamically. - Microsoft Docs: - SAL: _In_ - -Specifies the minimum depth bounds. The default value is 0. NaN values silently convert to 0. - SAL: _In_ - -Specifies the maximum depth bounds. The default value is 1. NaN values silently convert to 0. - - - - - Associates a subobject defined directly in a state object with shader exports. - Microsoft Docs: - - - - Pointer to the subobject in current state object to define an association to. - - - Size of the pExports array. If 0, this is being explicitly defined as a default association. Another way to define a default association is to omit this subobject association for that subobject completely. - - - The array of exports with which the subobject is associated. - - - - Gets a constant buffer by name for a function. - Microsoft Docs: - The constant-buffer name. - - - - - A shader resource view (SRV) structure for storing a raytracing acceleration structure. - Microsoft Docs: - - - - The GPU virtual address of the SRV. - - - - Retrieves the fence for the protected session. From the fence, you can retrieve the current uniqueness validity value (using ID3D12Fence::GetCompletedValue), and add monitors for changes to its value. This is a read-only fence. - Microsoft Docs: - The GUID of the interface to a fence. Most commonly, ID3D12Fence, although it may be any GUID for any interface. If the protected session object doesn’t support the interface for this GUID, the function returns E_NOINTERFACE. - A pointer to a memory block that receives a pointer to the fence for the given protected session. - - - - - Specifies the output parameters for calls to ID3D12VideoEncodeCommandList::EstimateMotion. - Microsoft Docs: - - - - An ID3D12VideoMotionVectorHeap containing the resolved motion estimation vectors. Motion vectors are resolved to a DXGI_FORMAT_R16G16_SINT 2D texture. The resolved data is a signed 16-byte integer with quarter PEL units with the X vector component stored in the R component and the Y vector component stored in the G component. Motion vectors are stored in a 2D layout that corresponds to the pixel layout of the original input textures. - - - - Not intended to be called directly.  Use the PIX event runtime to insert events into a command queue. - Microsoft Docs: - - - - - Specifies the automatic processing features that a video processor can support. - Microsoft Docs: - - - - No automatic processing features are supported. - - - Denoise is supported. - - - Deringing is supported. - - - Edge enhancement is supported. - - - Color correction is supported. - - - Flesh tone mapping is supported. - - - Image stabilization is supported. - - - Enhanced image resolution is supported. - - - Anamorphic scaling is supported. - - - Additional processing features, not described by the other flags, are available. - - - - Specifies options for determining quality levels. - Microsoft Docs: - - - - No options are supported. - - - The number of quality levels can be determined for tiled resources. - - - - Describes the subresources from an array of multi sampled 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. - - - - Copies tiles from buffer to tiled resource or vice versa. - Microsoft Docs: - A pointer to a tiled resource. - A pointer to a - D3D12_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the tiled resource. - A pointer to a D3D12_TILE_REGION_SIZE structure that describes the size of the tiled region. - A pointer to an ID3D12Resource that represents a default, dynamic, or staging buffer. - The offset in bytes into the buffer at pBuffer to start the operation. - A combination of D3D12_TILE_COPY_FLAGS-typed values that are combined by using a bitwise OR operation and that identifies how to copy tiles. - - - - - Encapsulates a list of graphics commands for video processing. - Microsoft Docs: - - - - - Describes a memory range. - Microsoft Docs: - - - - The offset, in bytes, denoting the beginning of a memory range. - - - The offset, in bytes, denoting the end of a memory range. - End is one-past-the-end. - - - - Opens a handle for shared resources, shared heaps, and shared fences, by using Name and Access. - Microsoft Docs: - The name that was optionally passed as the Name parameter in the call to - ID3D12Device::CreateSharedHandle. - The access level that was specified in the Access parameter in the call to - ID3D12Device::CreateSharedHandle. - Pointer to the shared handle. - - - - - Adds the input PSO to an internal database with the corresponding name. - Microsoft Docs: - Specifies a unique name for the library. Overwriting is not supported. - Specifies the ID3D12PipelineState to add. - - - - - 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  Don't 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 minimum D3D_FEATURE_LEVEL required for successful device creation. - The globally unique identifier (GUID) for the device interface. - This parameter, and ppDevice, can be addressed with the single macro - IID_PPV_ARGS. - A pointer to a memory block that receives a pointer to the device. Pass NULL to test if device creation would succeed, but to not actually create the device. If NULL is passed and device creation would succeed, S_FALSE is returned. -
-
- - - 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 D3D_PRIMITIVE_TOPOLOGY). - - - - - Provides methods for getting information about the parameters to the call to ID3D12VideoDevice::CreateVideoProcessor that created the video processor. - Microsoft Docs: - - - - - Describes the tile structure of a tiled resource with mipmaps. - Microsoft Docs: - - - - The number of standard mipmaps in the tiled resource. - - - The 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. - - - The 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. - - - The 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. -
-
 
-
- - - Defines constants used in the D3D12_DEVICE_REMOVED_EXTENDED_DATA structure to specify control flags for the Direct3D runtime. - Microsoft Docs: - - - - Typically specifies that Device Removed Extended Data (DRED) is disabled, except for when user-initiated feedback is used to produce a repro, or when otherwise enabled by Windows via automatic detection of process-instability issues. This is the default value. - - - Forces DRED to be enabled, regardless of the system state. - - - Disables DRED auto breadcrumbs. - - - - Specifies a Direct3D 12 video feature or feature set to query about. - Microsoft Docs: - - - - Check if a decode profile, bitstream encryption, resolution, and format are supported. The result is a D3D12_VIDEO_DECODE_TIER indicating the level of support. The associated data structure is D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT. - - - Retrieve the list of decode profiles supported by the adapter. Call CheckFeatureSupport specifying the feature D3D12_FEATURE_VIDEO_DECODE_PROFILE_COUNT to get the number of profiles before calling CheckFeatureSupport for the D3D12_FEATURE_VIDEO_DECODE_PROFILES feature. The associated data structure is D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES. - - - Retrieves the list of supported decode formats for a D3D12_VIDEO_DECODE_CONFIGURATION. Call CheckFeatureSupport specifying the feature D3D12_FEATURE_VIDEO_DECODE_FORMAT_COUNT to get the number of profiles before calling CheckFeatureSupport for the D3D12_FEATURE_VIDEO_DECODE_PROFILES feature.The associated data structure is D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS. - - - Check if a colorspace conversion, format conversion, and scale are supported. The associated data structure is D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUPPORT. - - - Retrieves the video processor capabilities. The associated data structure is D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT. - - - Retrieves the maximum number of streams that can be enabled at the same time. The associated data structure is D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STREAMS. - - - Retrieves the number of past and future frames required for a given deinterlace mode, filters, frame rate conversion, and features. The associated data structure is D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO. - - - Checks the allocation size of a video decoder heap. The associated data structure is D3D12_FEATURE_DATA_VIDEO_DECODER_HEAP_SIZE. For information on residency budgeting for heaps, see Residency. - - - Checks the allocation size of a video processor heap. The associated data structure is D3D12_FEATURE_DATA_VIDEO_PROCESSOR_SIZE. For information on residency budgeting for heaps, see Residency. - - - Retrieves the number of supported decoder profiles. The returned count is used when querying for D3D12_FEATURE_VIDEO_DECODE_PROFILES. - - - Retrieves the number of supported decoder profiles. The returned count is used when querying for D3D12_FEATURE_VIDEO_DECODE_FORMATS. - - - Indicates if the video engine is IO coherent with the CPU. - - - 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 D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM. - - - Retrieves the supported resolutions, search block sizes, and precision for motion estimation. The associated data structure is D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR. - - - Checks the allocation size of a motion estimator heap. The associated data structure is D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_SIZE. - - - Retrieves the supported number of video extension commands. The associated data structure is D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT. - - - Retrieves a list of D3D12_VIDEO_EXTENSION_COMMAND_INFO structures describing video extension commands. The associated data structure is D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_COUNT. - - - Retrieves the parameter count for the specified parameter stage. The associated data structure is D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT. - - - Retrieves a list of D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO structures describing video extension command parameters for the specified parameter stage. The associated data structure is D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_PARAMETERS. - - - Queries for command-defined support information. The associated data structure is D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SUPPORT. - - - Checks the allocation size of a video extension command. The associated data structure is D3D12_FEATURE_DATA_VIDEO_EXTENSION_COMMAND_SIZE. - - - Checks support for motion estimation with protected resources. The associated data structure is D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR_PROTECTED_RESOURCES. - - - - Contains a pointer to the head of a linked list of D3D12_AUTO_BREADCRUMB_NODE objects. - Microsoft Docs: - - - - A pointer to a constant D3D12_AUTO_BREADCRUMB_NODE object representing the head of a linked list of auto-breadcrumb nodes, or nullptr if the list is empty. - - - - Gets a debug interface. - Microsoft Docs: - The globally unique identifier (GUID) for the debug interface. - The REFIID, or GUID, of the debug interface can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12Debug) will get the GUID of the debug interface. - The debug interface, as a pointer to pointer to void. - See - ID3D12Debugand - ID3D12DebugDevice. - - - - - Defines constants that specify protected session status. - Microsoft Docs: - - - - Indicates that the protected session is in a valid state. - - - Indicates that the protected session is not in a valid state. - - - - Defines constants that specify what should be done with the results of earlier workload instrumentation. - Microsoft Docs: - - - - The default setting. Specifies that all results should be kept. - - - Specifies that the driver has seen all the data that it's ever going to, so it should stop waiting for more and go ahead compiling optimized shaders. - - - Like D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS, but also specifies that your application doesn't care about glitches, so the runtime should ignore the usual idle priority rules and go ahead using as many threads as possible to get shader recompiles done fast. Available only in Developer mode. - - - Specifies that the optimization state should be reset; hinting that whatever has previously been measured no longer applies. - - - - Identifies 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. - - - - Turns the debug features for a command list on or 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. - - - - - Describes a sub-pixel sample position for use with programmable sample positions. - Microsoft Docs: - - - - A signed sub-pixel coordinate value in the X axis. - - - A signed sub-pixel coordinate value in the Y axis. - - - - Gets the GPU descriptor handle that represents the start of the heap. - Microsoft Docs: - - - - - Specifies multiple wait flags for multiple fences. - Microsoft Docs: - - - - No flags are being passed. This means to use the default behavior, which is to wait for all fences before signaling the event. - - - Modifies behavior to indicate that the event should be signaled after any one of the fence values has been reached by its corresponding fence. - - - An alias for D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE, meaning to use the default behavior and wait for all fences. - - - - Records the execution (or invocation) of the specified meta command into a graphics command list. - Microsoft Docs: - A pointer to an ID3D12MetaCommand representing the meta command to initialize. - An optional pointer to a constant structure containing the values of the parameters for executing the meta command. - A SIZE_T containing the size of the structure pointed to by pExecutionParametersData, if set, otherwise 0. - - - - - Divulges the equivalent custom heap properties that are used for non-custom heap types, based on the adapter's architectural properties. - Microsoft Docs: - For single-GPU operation, set this to zero. - If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter). - Each bit in the mask corresponds to a single node. - Only 1 bit must be set. - See Multi-adapter systems. - A D3D12_HEAP_TYPE-typed value that specifies the heap to get properties for. - D3D12_HEAP_TYPE_CUSTOM is not supported as a parameter value. - - - - - Not intended to be called directly.  Use the PIX event runtime to insert events into a command queue. - Microsoft Docs: - Internal. - Internal. - Internal. - - - - - Describes the configuration for a video decoder. - Microsoft Docs: - - - - A GUID identifying the profile for the decoder, such as D3D12\_VIDEO\_DECODE\_PROFILE\_H264 or D3D12\_VIDEO\_DECODE\_PROFILE\_HEVC\_MAIN. For a list of supported GUIDs, see [Direct3D 12 Video GUIDs](/windows/desktop/medfound/direct3d-12-video-guids). - - - A member of the D3D12\_BITSTREAM\_ENCRYPTION\_TYPE enumeration specifying the type of bitstream encryption. For no encryption, use D3D12\_BITSTREAM\_ENCRYPTION\_TYPE\_NONE. - - - A member of the D3D12\_VIDEO\_FRAME\_CODED\_INTERLACE\_TYPE enumeration the desired interlace type used by the coded frames. - - - - Specifies the level of support for programmable sample positions that's offered by the adapter. - Microsoft Docs: - - - - Indicates that there's no support for programmable sample positions. - - - Indicates that there's tier 1 support for programmable sample positions. In tier 1, a single sample pattern can be specified to repeat for every pixel (SetSamplePosition parameter NumPixels = 1) and ResolveSubResource is supported. - - - Indicates that there's tier 2 support for programmable sample positions. In tier 2, four separate sample patterns can be specified for each pixel in a 2x2 grid (SetSamplePosition parameter NumPixels = 1) that repeats over the render-target or viewport, aligned on even coordinates . - - - - This method enables or disables GPU-based validation (GBV) before creating a device with the debug layer enabled. - Microsoft Docs: - TRUE to enable GPU-based validation, otherwise FALSE. - - - - - Specifies an orientation operation to be performed by a video processor. - Microsoft Docs: - - - - No change in orientation. 0 degrees. - - - The image is flipped horizontally. - - - The image is rotated 90 degrees clockwise. - - - The image is rotated 90 degrees clockwise and then flipped horizontally. - - - The image is rotated 180 degrees clockwise. - - - The image is flipped vertically. - - - The image is rotated 270 degrees clockwise. - - - The image is rotated 270 degrees clockwise and then flipped horizontally. - - - - Adds support for motion estimation. - Microsoft Docs: - - - - - Represents a virtual adapter. This interface extends ID3D12Device3. - Microsoft Docs: - - - - - This interface controls Device Removed Extended Data (DRED) settings. - Microsoft Docs: - - - - - Describes a resource, such as a texture, including a mip region. This structure is used in several methods. - Microsoft Docs: - - - - One member of D3D12_RESOURCE_DIMENSION, specifying the dimensions of the resource (for example, D3D12_RESOURCE_DIMENSION_TEXTURE1D), or whether it is a buffer ((D3D12_RESOURCE_DIMENSION_BUFFER). - - - Specifies the alignment. - - - Specifies the width of the resource. - - - Specifies the height of the resource. - - - Specifies the depth of the resource, if it is 3D, or the array size if it is an array of 1D or 2D resources. - - - Specifies the number of MIP levels. - - - Specifies one member of DXGI_FORMAT. - - - Specifies a DXGI_SAMPLE_DESC structure. - - - Specifies one member of D3D12_TEXTURE_LAYOUT. - - - Bitwise-OR'd flags, as D3D12_RESOURCE_FLAGS enumeration constants. - - - A D3D12_MIP_REGION struct. - - - - Describes minimum precision support options for shaders in the current graphics driver. - Microsoft Docs: - - - - The driver supports only full 32-bit precision for all shader stages. - - - The driver supports 10-bit precision. - - - The driver supports 16-bit precision. - - - - Describes a function. - Microsoft Docs: - - - - The shader version. - See also D3D12_SHADER_VERSION_TYPE. - - - 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 ID3D12ShaderReflection::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 shader-variable description. - Microsoft Docs: - A pointer to a shader-variable description (see D3D12_SHADER_VARIABLE_DESC). - - - - - Inherits from ID3D12VideoProcessor and provides support for protected resources. - Microsoft Docs: - - - - - Gets a constant-buffer description. - Microsoft Docs: - A shader-buffer description, as a pointer to a D3D12_SHADER_BUFFER_DESC structure. - - - - - Sets a constant in the compute root signature. - Microsoft Docs: - The slot number for binding. - The source data for the constant to set. - The offset, in 32-bit values, to set the constant in the root signature. - - - - - This method configures the sample positions used by subsequent draw, copy, resolve, and similar operations. - Microsoft Docs: - SAL: _In_ - -Specifies the number of samples to take, per pixel. This value can be 1, 2, 4, 8, or 16, otherwise the SetSamplePosition call is dropped. The number of samples must match the sample count configured in the PSO at draw time, otherwise the behavior is undefined. - SAL: _In_ - -Specifies the number of pixels that sample patterns are being specified for. This value can be either 1 or 4, otherwise the SetSamplePosition call is dropped. A value of 1 configures a single sample pattern to be used for each pixel; a value of 4 configures separate sample patterns for each pixel in a 2x2 pixel grid which is repeated over the render-target or viewport space, aligned to even coordintes. - -Note that the maximum number of combined samples can't exceed 16, otherwise the call is dropped. If NumPixels is set to 4, NumSamplesPerPixel can specify no more than 4 samples. - SAL: _In_reads_(NumSamplesPerPixel*NumPixels) - -Specifies an array of D3D12_SAMPLE_POSITION elements. The size of the array is NumPixels * NumSamplesPerPixel. If NumPixels is set to 4, then the first group of sample positions corresponds to the upper-left pixel in the 2x2 grid of pixels; the next group of sample positions corresponds to the upper-right pixel, the next group to the lower-left pixel, and the final group to the lower-right pixel. - -If centroid interpolation is used during rendering, the order of positions for each pixel determines centroid-sampling prioritiy. That is, the first covered sample in the order specified is chosen as the centroid sample location. - - - - - Represents a resource in which all UAV accesses must complete before any future UAV accesses can begin. - Microsoft Docs: - - - - The resource used in the transition, as a pointer to ID3D12Resource. - - - - Describes bindings (fixed for the duration of the render pass) to one or more render target views (RTVs), as well as their beginning and ending access characteristics. - Microsoft Docs: - - - - A D3D12_CPU_DESCRIPTOR_HANDLE. The CPU descriptor handle corresponding to the render target view(s) (RTVs). - - - A D3D12_RENDER_PASS_BEGINNING_ACCESS. The access to the RTV(s) requested at the transition into a render pass. - - - A D3D12_RENDER_PASS_ENDING_ACCESS. The access to the RTV(s) requested at the transition out of a render pass. - - - - Describes parameters needed to allocate resources, including offset. - Microsoft Docs: - - - - The offset, in bytes, of the resource. - - - The alignment value for the resource; one of 4KB (4096), 64KB (65536), or 4MB (4194304) alignment. - - - The size, in bytes, of the resource. - - - - Enumerates the types of shaders that Direct3D recognizes. Used to encode the Version member of the D3D12_SHADER_DESC structure. - Microsoft Docs: - - - - Pixel shader. - - - Vertex shader. - - - Geometry shader. - - - Hull shader. - - - Domain shader. - - - Compute shader. - - - Indicates the end of the enumeration. - - - - Specifies support for protected resources in video operations. - Microsoft Docs: - - - - Protected resources are not supported. - - - Protected resources are supported. - - - - Specifies the interlace type of coded video frames. - Microsoft Docs: - - - - The coded frames are not interlaced, often referred to as "progressive". - - - The coded frames may be interlaced. - - - - Gets the status of the protected session. - Microsoft Docs: - - - - - Specifies options for view instancing. - Microsoft Docs: - - - - Indicates a default view instancing configuration. - - - Enables view instance masking. - - - - Provides input data for calls to ID3D12VideoEncodeCommandList::ResolveMotionVectorHeap. - Microsoft Docs: - - - - The ID3D12VideoMotionVectorHeap containing the hardware-dependent data layout of the motion search. - - - The pixel width of the texture that the motion estimation operation was performed on. The motion estimator heap may be allocated to support a size range, this parameter informs the size of the last motion estimation operation. - - - The pixel height of the texture that the motion estimation operation was performed on. The motion estimator heap may be allocated to support a size range, this parameter informs the size of the last motion estimation operation. - - - - Writes a number of 32-bit immediate values to the specified buffer locations directly from the command stream. - Microsoft Docs: - The number of D3D12_WRITEBUFFERIMMEDIATE_PARAMETER structures that are pointed to by pParams and pModes. - The address of an array containing a number of D3D12_WRITEBUFFERIMMEDIATE_PARAMETER structures equal to Count. - The address of an array containing a number of D3D12_WRITEBUFFERIMMEDIATE_MODE structures equal to Count. The default value is null; passing null causes the system to write all immediate values using D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT. - - - - - Specifies resources that are supported for a provided format. - Microsoft Docs: - - - - No resources are supported. - - - 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. - - - Render targets are supported. - - - Blend operations supported. - - - Depth stencils supported. - - - Multisample antialiasing (MSAA) resolve operations are supported. For more info, see ID3D12GraphicsCommandList::ResolveSubresource. - - - Format can be displayed on screen. - - - Format can't be cast to another format. - - - Format can be used as a multi-sampled render target. - - - Format can be used as a multi-sampled 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. - - - Format can be used with the video processor output. - - - Format can be used with the video processor input. - - - Format can be used with the video encoder. - - - - Represents a GPU virtual address range. - Microsoft Docs: - - - - The beginning of the virtual address range. - - - The size of the virtual address range, in bytes. - - - - Creates a heap that can be used with placed resources and reserved resources. - Microsoft Docs: - A pointer to a constant D3D12_HEAP_DESC structure that describes the heap. - A reference to the globally unique identifier (GUID) of the heap interface to return in ppvHeap. - -While riidResource is most commonly the GUID of ID3D12Heap, it may be the GUID of any interface. If the resource object doesn't support the interface for this GUID, then creation fails with E_NOINTERFACE. - An optional pointer to a memory block that receives the requested interface pointer to the created heap object. - -ppvHeap can be nullptr, to enable capability testing. When ppvHeap is nullptr, no object is created, and S_FALSE is returned when pDesc is valid. - - - - - Describes query data for stream output. - Microsoft Docs: - - - - Specifies the number of primitives written. - - - Specifies the total amount of storage needed by the primitives. - - - - Defines constants that specify the stage of a parameter to a meta command. - Microsoft Docs: - - - - Specifies that the parameter is used at the meta command creation stage. - - - Specifies that the parameter is used at the meta command initialization stage. - - - Specifies that the parameter is used at the meta command execution stage. - - - - Changes the currently bound descriptor heaps that are associated with a command list. - Microsoft Docs: - Number of descriptor heaps to bind. - A pointer to an array of ID3D12DescriptorHeap objects for the heaps to set on the command list. - -You can only bind descriptor heaps of type [D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV](/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-setdescriptorheaps) and [D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER](/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-setdescriptorheaps). - -Only one descriptor heap of each type can be set at one time, which means a maximum of 2 heaps (one sampler, one CBV/SRV/UAV) can be set at one time. - - - - - Specifies input stream arguments for an input stream passed to ID3D12VideoProcessCommandList1::ProcessFrames1, which supports changing the field type for each call. - Microsoft Docs: - - - - An array of D3D12_VIDEO_PROCESS_INPUT_STREAM structures containing the set of references for video processing. If the stereo format is D3D12_VIDEO_PROCESS_STEREO_FORMAT_SEPARATE, then two sets of input streams must be supplied. For all other stereo formats, the first set of reference must be supplied, and the second should be zero initialized. - - - A D3D12_VIDEO_PROCESS_TRANSFORM structure specifying the flip, rotation, scale and destination translation for the video input. - - - A value from the D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS enumeration specifying the options for the input stream. - - - A D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE structure specifying the framerate and input and output indicies for framerate conversion and deinterlacing. - - - The level to apply for each enabled filter. The filter level is specified in the order that filters appear in the D3D12_VIDEO_PROCESS_FILTER_FLAGS enumeration. Specify 0 if a filter is not enabled or the filter index is reserved. - - - A D3D12_VIDEO_PROCESS_ALPHA_BLENDING structure specifying the planar alpha for an input stream on the video processor. - - - A value from the D3D12_VIDEO_FIELD_TYPE enumeration specfying the interlaced field type of the input source. When working with mixed content, use [ID3D12VideoProcessCommandList1::ProcessFrames1](nf-d3d12video-id3d12videoprocesscommandlist1-processframes1.md) which supports changing the field type for each call. - - - - Describes a ID3D12VideoDecoderHeap. - Microsoft Docs: - - - - The node mask specifying the physical adapter on which the video processor will be used. For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node, i.e. the device's physical adapter, to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A D3D12_VIDEO_DECODE_CONFIGURATION structure specifying the configuration of the video decoder. - - - The decode width of the bitstream to be decoded. - - - The decode height of the bitstream to be decoded. - - - A DXGI_FORMAT structure specifying the format of the bitstream to be decoded. - - - The frame rate of the input video stream. For more information, see the Remarks section. - - - The average bits per second data compression rate for the compressed video stream. For more information, see the Remarks section. - - - The maximum number of decode picture buffers this stream can have. - - - - Represents Device Removed Extended Data (DRED) version 1.0 data. - Microsoft Docs: - - - - An input parameter of type D3D12_DRED_FLAGS, specifying control flags for the Direct3D runtime. - - - An output parameter of type pointer to D3D12_AUTO_BREADCRUMB_NODE representing the returned auto-breadcrumb object(s). This is a pointer to the head of a linked list of auto-breadcrumb objects. All of the nodes in the linked list represent potentially incomplete command list execution on the GPU at the time of the device-removal event. - - - - Specifies the type of a raytracing hit group state subobject. Use a value from this enumeration with the D3D12_HIT_GROUP_DESC structure. - Microsoft Docs: - - - - The hit group uses a list of triangles to calculate ray hits. Hit groups that use triangles can’t contain an intersection shader. - - - The hit group uses a procedural primitive within a bounding box to calculate ray hits. Hit groups that use procedural primitives must contain an intersection shader. - - - - Represents data for a video decode statistics query invoked by calling ID3D12VideoDecodeCommandList::EndQuery. - Microsoft Docs: - - - - A member of the D3D12_VIDEO_DECODE_STATUS enumeration indicating the video decoding status. - - - If Status is not 0, this member contains the accelerator's estimate of the number of super-blocks in the decoded frame that were adversely affected by the reported problem. If the accelerator does not provide an estimate, the value is D3D12\_VIDEO\_DECODE\_MACROBLOCKS\_AFFECTED\_UNKNOWN (0xFFFFFFFFFFFFFFFF). - - - The decode frame rate. - - - When the Status returned is D3D12_VIDEO_DECODE_STATUS_RATE_EXCEEDED, this field reports the bitrate that would succeed. This value may be used to recreate the decoder and try again. A value of zero here is valid to indicate that the worst case bit rate should be assumed. - -For all other Status values, BitRate is set to zero. - - - - Determines whether shader instrumentation is enabled. - Microsoft Docs: - - - - - Monitors the validity of a protected resource session. - Microsoft Docs: - - - - - Specifies flags for video processing input streams. - Microsoft Docs: - - - - No flags specified. - - - Set this flag when not processing frames in order, such as seeking between frames - - - Set this flag when applying video process operation to the same set of inputs. - - - - Gets a shader-variable type. - Microsoft Docs: - - - - - Specifies a range of tile mappings. - Microsoft Docs: - - - - No tile-mapping flags are specified. - - - The tile range is NULL. - - - Skip the tile range. - - - Reuse a single tile in the tile range. - - - - Represents a GPU virtual address range and stride. - Microsoft Docs: - - - - The beginning of the virtual address range. - - - The size of the virtual address range, in bytes. - - - Defines the record-indexing stride within the memory range. - - - - 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). - - - - - This method configures the level of GPU-based validation that the debug device is to perform at runtime. - Microsoft Docs: - Specifies the level of GPU-based validation to perform at runtime. - - - - - Defines a global root signature state suboject that will be used with associated shaders. - Microsoft Docs: - - - - The root signature that will function as a global root signature. A state object holds a reference to this signature. - - - - Describes Direct3D 12 feature options in the current graphics driver. - Microsoft Docs: - - - - Specifies whether double types are allowed for shader operations. - If TRUE, double types are allowed; otherwise FALSE. - The supported operations are equivalent to Direct3D 11's ExtendedDoublesShaderInstructions member of the D3D11_FEATURE_DATA_D3D11_OPTIONS structure. - - -To use any HLSL shader that is compiled with a double type, - the runtime must set DoublePrecisionFloatShaderOps to TRUE. - - - 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 and 12. - - - A combination of D3D12_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 shader stages. A value of zero indicates that the driver supports only full 32-bit precision for all shader stages. - - - Specifies whether the hardware and driver support tiled resources. The runtime sets this member to a D3D12_TILED_RESOURCES_TIER-typed value that indicates if the hardware and driver support tiled resources and at what tier level. - - - Specifies the level at which the hardware and driver support resource binding. The runtime sets this member to a D3D12_RESOURCE_BINDING_TIER-typed value that indicates the tier level. - - - Specifies whether pixel shader stencil ref is supported. If TRUE, it's supported; otherwise FALSE. - - - Specifies whether the loading of additional formats for typed unordered-access views (UAVs) is supported. - If TRUE, it's supported; otherwise FALSE. - - - Specifies whether Rasterizer Order Views (ROVs) are supported. If TRUE, they're supported; otherwise FALSE. - - - Specifies the level at which the hardware and driver support conservative rasterization. The runtime sets this member to a D3D12_CONSERVATIVE_RASTERIZATION_TIER-typed value that indicates the tier level. - - - Don't use this field; instead, use the D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT query - (a structure with a MaxGPUVirtualAddressBitsPerResource member), which is more accurate. - - - TRUE if the hardware supports textures with the 64KB standard swizzle pattern. - Support for this pattern enables zero-copy texture optimizations while providing near-equilateral locality for each dimension within the texture. - For texture swizzle options and restrictions, see D3D12_TEXTURE_LAYOUT. - - - A D3D12_CROSS_NODE_SHARING_TIER enumeration constant that specifies the level of sharing across nodes of an adapter that has multiple nodes, - such as Tier 1 Emulated, Tier 1, or Tier 2. - - - FALSE means the device only supports copy operations to and from cross-adapter row-major textures. - TRUE means the device supports shader resource views, unordered access views, and render target views of cross-adapter row-major textures. - "Cross-adapter" means between multiple adapters (even from different IHVs). - - - Whether the viewport (VP) and Render Target (RT) array index from any shader feeding the rasterizer are supported without geometry shader emulation. - Compare the VPAndRTArrayIndexFromAnyShaderFeedingRasterizer member of the D3D11_FEATURE_DATA_D3D11_OPTIONS3 structure. - In ID3D12ShaderReflection::GetRequiresFlags, see the #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER. - - - Specifies the level at which the hardware and driver require heap attribution related to resource type. - The runtime sets this member to a D3D12_RESOURCE_HEAP_TIER enumeration constant. - - - - Specifies RGB or alpha blending operations. - 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. - - - - Reports the number of physical adapters (nodes) that are associated with this device. - Microsoft Docs: - - - - - Get a boolean that determines if debug output is on or off. - Microsoft Docs: - - - - - Specifies how GPU-Based Validation handles patched pipeline states during ID3D12Device::CreateGraphicsPipelineState and ID3D12Device::CreateComputePipelineState. - Microsoft Docs: - - - - This is the default value. Indicates no patching of pipeline states should be done during PSO creation. Instead PSO’s are patched on first use in a command list. This can help to reduce the up-front cost of PSO creation but may instead slow down command list recording until a steady-state is reached. - - - Indicates that state-tracking GPU-Based Validation PSO’s should be created along with the original PSO at create time. - - - Indicates that unguarded GPU-Based Validation PSO’s should be created along with the original PSO at create time. - - - Indicates that guarded GPU-Based Validation PSO’s should be created along with the original PSO at create time. - - - Internal use only. - - - - 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. - - - The size of each element in the buffer structure (in bytes) when the buffer represents a structured buffer. - - - The counter offset, in bytes. - - - A D3D12_BUFFER_UAV_FLAGS-typed value that specifies the view options for the resource. - - - - Writes the contents of the library to the provided memory, to be provided back to the runtime at a later time. - Microsoft Docs: - Specifies a pointer to the data. This memory must be readable and writeable up to the input size. This data can be saved and provided to CreatePipelineLibrary at a later time, including future instances of this or other processes. The data becomes invalidated if the runtime or driver is updated, and is not portable to other hardware or devices. - The size provided must be at least the size returned from GetSerializedSize. - - - - - Specifies whether or not protected resources can be accessed by subsequent commands in the command list. - Microsoft Docs: - An optional pointer to an ID3D12ProtectedResourceSession. You can obtain an ID3D12ProtectedResourceSession by calling [ID3D12Device4::CreateProtectedResourceSession](./nf-d3d12-id3d12device4-createprotectedresourcesession.md). - - - - - Sets the fence to the specified value. - Microsoft Docs: - The value to set the fence to. - - - - - Specifies how to access a resource used in a depth-stencil view. - Microsoft Docs: - - - - D3D12_DSV_DIMENSION_UNKNOWN is not a valid value for D3D12_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 multi sampling. - - - The resource will be accessed as an array of 2D textures with multi sampling. - - - - Gets an output-parameter description for a shader. - Microsoft Docs: - A zero-based parameter index. - A shader-output-parameter description, as a pointer to a D3D12_SIGNATURE_PARAMETER_DESC structure. - - - - - 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. - - - - Describes a pipeline state stream. - Microsoft Docs: - - - - SAL: _In_ - -Specifies the size of the opaque data structure pointed to by the pPipelineStateSubobjectStream member, in bytes. - - - SAL: _In_reads_(_Inexpressible_("Dependentonsizeofsubobjects")) - -Specifies the address of a data structure that describes as a bytestream an arbitrary pipeline state subobject. - - - - Provides detail about each adapter's architectural details, so that your application can better optimize for certain adapter properties. - Microsoft Docs: - - - - In multi-adapter operation, this indicates which physical adapter of the device is relevant. - See Multi-adapter systems. - NodeIndex is filled out by the application before calling CheckFeatureSupport, as the application can retrieve details about the architecture of each adapter. - - - Specifies whether the hardware and driver support a tile-based renderer. - The runtime sets this member to TRUE if the hardware and driver support a tile-based renderer. - - - Specifies whether the hardware and driver support UMA. - The runtime sets this member to TRUE if the hardware and driver support UMA. - - - Specifies whether the hardware and driver support cache-coherent UMA. - The runtime sets this member to TRUE if the hardware and driver support cache-coherent UMA. - - - SAL: _Out_ - -Specifies whether the hardware and driver support isolated Memory Management Unit (MMU). - The runtime sets this member to TRUE if the GPU honors CPU page table properties like MEM_WRITE_WATCH (for more information, see VirtualAlloc) and PAGE_READONLY (for more information, see Memory Protection Constants). - -If TRUE, the application must take care to no use memory with these page table properties with the GPU, as the GPU might trigger these page table properties in unexpected ways. For example, GPU write operations might be coarser than the application expects, particularly writes from within shaders. Certain write-watch pages migth appear dirty, even when it isn't obvious how GPU writes may have affected them. GPU operations associated with upload and readback heap usage scenarios work well with write-watch pages, but might occasionally generate false positives that can be safely ignored. - - - - Identifies unordered-access view options for a buffer resource. - Microsoft Docs: - - - - Indicates a default view. - - - 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. - - - - Gets a shader-reflection variable by index. - Microsoft Docs: - Zero-based index. - - - - - Copies a source acceleration structure to destination memory while applying the specified transformation. - Microsoft Docs: - The destination memory. The required size can be discovered by calling EmitRaytracingAccelerationStructurePostbuildInfo beforehand, if necessary for the specified Mode. - -The destination start address must be aligned to 256 bytes, defined as D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, regardless of the specified Mode. - -The destination memory range cannot overlap source. Otherwise, results are undefined. - -The resource state that the memory pointed to must be in depends on the Mode parameter. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE. - The address of the acceleration structure or other type of data to copy/transform based on the specified Mode. The data remains unchanged and usable. The operation only copies the data pointed to by SourceAccelerationStructureData and not any other data, such as acceleration structures, that the source data may point to. For example, in the case of a top-level acceleration structure, any bottom-level acceleration structures that it points to are not copied in the operation. - -The source memory must be aligned to 256 bytes, defined as D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, regardless of the specified Mode. - -The resource state that the memory pointed to must be in depends on the Mode parameter. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE. - The type of copy operation to perform. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE. - - - - - Defines the inputs for a raytracing acceleration structure build operation. This structure is used by ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure and ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo. - Microsoft Docs: - - - - The type of acceleration structure to build. - - - The build flags. - - - If Type is D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, this value is the number of instances, laid out based on DescsLayout. - -If Type is D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL, this value is the number of elements referred to by pGeometryDescs or ppGeometryDescs. Which of these fields is used depends on DescsLayout. - - - How geometry descriptions are specified; either an array of descriptions or an array of pointers to descriptions. - - - If Type is D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, this refers to NumDescsD3D12_RAYTRACING_INSTANCE_DESC structures in GPU memory describing instances. Each instance must be aligned to 16 bytes, defined as D3D12_RAYTRACING_INSTANCE_DESC_BYTE_ALIGNMENT. - -If Type is not D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, this parameter is unused. - -If DescLayout is D3D12_ELEMENTS_LAYOUT_ARRAY, InstanceDescs points to an array of instance descriptions in GPU memory. - -If DescLayout is D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS, InstanceDescs points to an array in GPU memory of D3D12_GPU_VIRTUAL_ADDRESS pointers to instance descriptions. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. - - - If Type is D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL, and DescsLayout is D3D12_ELEMENTS_LAYOUT_ARRAY, this field is used and points to NumDescs contiguous D3D12_RAYTRACING_GEOMETRY_DESC structures on the CPU, describing individual geometries. - -If Type is not D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL or DescsLayout is not D3D12_ELEMENTS_LAYOUT_ARRAY, this parameter is unused. - - - If Type is D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL, and DescsLayout is D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS, this field is used and points to an array of NumDescs pointers to D3D12_RAYTRACING_GEOMETRY_DESC structures on the CPU, describing individual geometries. - - - - Specifies a type of resource barrier (transition in resource use) description. - Microsoft Docs: - - - - A transition barrier that indicates a transition of a set of subresources between different usages. The caller must specify the before and after usages of the subresources. - - - An aliasing barrier that indicates a transition between usages of 2 different resources that have mappings into the same tile pool. The caller can specify both the before and the after resource. Note that one or both resources can be NULL, which indicates that any tiled resource could cause aliasing. - - - An unordered access view (UAV) barrier that indicates all UAV accesses (reads or writes) to a particular resource must complete before any future UAV accesses (read or write) can begin. - - - - Gets a shader-reflection-variable type by name. - Microsoft Docs: - Member name. - - - - - Enables the debug layer. - Microsoft Docs: - - - - - Describes a video extension command. - Microsoft Docs: - - - - The unique identifier for the video extension command. - - - A pointer to a wide string containing the name of the command. - - - A member of the D3D12_COMMAND_LIST_SUPPORT_FLAGS enumeration. Indicates the video command queue that the video extension targets. Only one value from the enumeration can be set. - - - - Describes stencil operations that can be performed based on the results of stencil test. - Microsoft Docs: - - - - A D3D12_STENCIL_OP-typed value that identifies the stencil operation to perform when stencil testing fails. - - - A D3D12_STENCIL_OP-typed value that identifies the stencil operation to perform when stencil testing passes and depth testing fails. - - - A D3D12_STENCIL_OP-typed value that identifies the stencil operation to perform when stencil testing and depth testing both pass. - - - A D3D12_COMPARISON_FUNC-typed value that identifies the function that compares stencil data against existing stencil data. - - - - Represents a virtual adapter; it is used to create command allocators, command lists, command queues, fences, resources, pipeline state objects, heaps, root signatures, samplers, and many resource views. - Microsoft Docs: - - - - - Defines constants that specify heap serialization support. - Microsoft Docs: - - - - Indicates that heap serialization is not supported. - - - Indicates that heap serialization is supported. Your application can serialize resource data in heaps through copying APIs such as CopyResource, without necessarily requiring an explicit [state transition](/windows/desktop/direct3d12/using-resource-barriers-to-synchronize-resource-states-in-direct3d-12#implicit-state-transitions) of resources on those heaps. - - - - Enables or disables dependent command queue synchronization when using a D3D12 device with the debug layer enabled. - Microsoft Docs: - TRUE to enable Dependent Command Queue Synchronization, otherwise FALSE. - - - - - Describes the subresources from a resource that are accessible by using a render-target view. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value that specifies the viewing format. - - - A D3D12_RTV_DIMENSION-typed value that specifies how the render-target resource will be accessed. This type specifies how the resource will be accessed. This member also determines which _RTV to use in the following union. - - - A D3D12_BUFFER_RTV structure that specifies which buffer elements can be accessed. - - - A D3D12_TEX1D_RTV structure that specifies the subresources in a 1D texture that can be accessed. - - - A D3D12_TEX1D_ARRAY_RTV structure that specifies the subresources in a 1D texture array that can be accessed. - - - A D3D12_TEX2D_RTV structure that specifies the subresources in a 2D texture that can be accessed. - - - A D3D12_TEX2D_ARRAY_RTV structure that specifies the subresources in a 2D texture array that can be accessed. - - - A D3D12_TEX2DMS_RTV structure that specifies a single subresource because a multisampled 2D texture only contains one subresource. - - - A D3D12_TEX2DMS_ARRAY_RTV structure that specifies the subresources in a multisampled 2D texture array that can be accessed. - - - A D3D12_TEX3D_RTV structure that specifies subresources in a 3D texture that can be accessed. - - - - Emits post-build properties for a set of acceleration structures. This enables applications to know the output resource requirements for performing acceleration structure operations via ID3D12GraphicsCommandList4::CopyRaytracingAccelerationStructure. - Microsoft Docs: - Description of pos-tbuild information to generate. - Number of pointers to acceleration structure GPU virtual addresses pointed to by pSourceAccelerationStructureData. This number also affects the destination (output), which will be a contiguous array of NumSourceAccelerationStructures output structures, where the type of the structures depends on InfoType field of the supplied in the pDesc description. - Pointer to array of GPU virtual addresses of size NumSourceAccelerationStructures. - -The address must be aligned to 256 bytes, defined as D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE. - - - - - Adds a user-defined message to the message queue and sends that message to debug output. - Microsoft Docs: - Severity of a message. - Specifies the message string. - - - - - Flags passed to the TraceRay function to override transparency, culling, and early-out behavior. - Microsoft Docs: - - - - No options selected. - - - All ray-primitive intersections encountered in a raytrace are treated as opaque. So no any hit shaders will be executed regardless of whether or not the hit geometry specifies D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE, and regardless of the instance flags on the instance that was hit. - -This flag is mutually exclusive with RAY_FLAG_FORCE_NON_OPAQUE, RAY_FLAG_CULL_OPAQUE and RAY_FLAG_CULL_NON_OPAQUE. - - - All ray-primitive intersections encountered in a raytrace are treated as non-opaque. So any hit shaders, if present, will be executed regardless of whether or not the hit geometry specifies D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE, and regardless of the instance flags on the instance that was hit. This flag is mutually exclusive with RAY_FLAG_FORCE_\OPAQUE, RAY_FLAG_CULL_OPAQUE and RAY_FLAG_CULL_NON_OPAQUE. - - - The first ray-primitive intersection encountered in a raytrace automatically causes AcceptHitAndEndSearch to be called immediately after the any hit shader, including if there is no any hit shader. - -The only exception is when the preceding any hit shader calls IgnoreHit, in which case the ray continues unaffected such that the next hit becomes another candidate to be the first hit. For this exception to apply, the any hit shader has to actually be executed. So if the any hit shader is skipped because the hit is treated as opaque (e.g. due to RAY_FLAG_FORCE_OPAQUE or D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE or D3D12_RAYTRACING_INSTANCE_FLAG_OPAQUE being set), then AcceptHitAndEndSearch is called. - -If a closest hit shader is present at the first hit, it gets invoked unless RAY_FLAG_SKIP_CLOSEST_HIT_SHADER is also present. The one hit that was found is considered “closest”, even though other potential hits that might be closer on the ray may not have been visited. - -A typical use for this flag is for shadows, where only a single hit needs to be found. - - - Even if at least one hit has been committed, and the hit group for the closest hit contains a closest hit shader, skip execution of that shader. - - - Enables culling of back facing triangles. See D3D12_RAYTRACING_INSTANCE_FLAGS for selecting which triangles are back facing, per-instance. - -On instances that specify D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE, this flag has no effect. - -On geometry types other than D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES, this flag has no effect. - -This flag is mutually exclusive with RAY_FLAG_CULL_FRONT_FACING_TRIANGLES. - - - Enables culling of front facing triangles. See D3D12_RAYTRACING_INSTANCE_FLAGS for selecting which triangles are back facing, per-instance. - -On instances that specify D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE, this flag has no effect. - -On geometry types other than D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES, this flag has no effect. - -This flag is mutually exclusive with RAY_FLAG_CULL_FRONT_FACING_TRIANGLES. - - - Culls all primitives that are considered opaque based on their geometry and instance flags. - -This flag is mutually exclusive with RAY_FLAG_FORCE_OPAQUE, RAY_FLAG_FORCE_NON_OPAQUE, and RAY_FLAG_CULL_NON_OPAQUE. - - - Culls all primitives that are considered non-opaque based on their geometry and instance flags. - -This flag is mutually exclusive with RAY_FLAG_FORCE_OPAQUE, RAY_FLAG_FORCE_NON_OPAQUE, and RAY_FLAG_CULL_OPAQUE. - - - - Manages a query heap. A query heap holds an array of queries, referenced by indexes. - Microsoft Docs: - - - - - Enables the page-out of data, which precludes GPU access of that data. - Microsoft Docs: - The number of objects in the ppObjects array to evict from the device. - A pointer to a memory block that contains an array of ID3D12Pageable interface pointers for the objects. - - -Even though most D3D12 objects inherit from ID3D12Pageable, residency changes are only supported on the following objects: -Descriptor Heaps, Heaps, Committed Resources, and Query Heaps - - - - - 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 the CachedPSO member of the D3D12_GRAPHICS_PIPELINE_STATE_DESC and D3D12_COMPUTE_PIPELINE_STATE_DESC structures. This is always supported. - - - Indicates that the driver supports the ID3D12PipelineLibrary interface, which provides application-controlled PSO grouping and caching. This is supported by drivers targetting the Windows 10 Anniversary Update. - - - 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. - - - - Signals a shared fence between the D3D layers and diagnostics tools. - Microsoft Docs: - A pointer to the shared fence to signal. - An unsigned 64bit value to signal the shared fence with. - - - - - Retrieves the list of video extension commands from the driver. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - The supported number of video extension commands. This value must be the count returned by a call to[ID3D12VideoDevice::CheckFeatureSupport](nf-d3d12video-id3d12videodevice-checkfeaturesupport.md) with D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_COUNT specified as the feature. - - - Receives a list of D3D12_VIDEO_EXTENSION_COMMAND_INFO structures describing video extension commands. - - - - Indicates the level of support that the adapter provides for depth-bounds tests and programmable sample positions. - Microsoft Docs: - - - - SAL: _Out_ - -On return, contains true if depth-bounds tests are supported; otherwise, false. - - - SAL: _Out_ - -On return, contains a value that indicates the level of support offered for programmable sample positions. - - - - Gets the reason that the device was removed. - Microsoft Docs: - - - - - Describes the arguments (parameters) of a command signature. - Microsoft Docs: - - - - Specifies the size of each argument of a command signature, in bytes. - - - Specifies the number of arguments in the command signature. - - - An array of D3D12_INDIRECT_ARGUMENT_DESC structures, - containing details of the arguments, including whether the argument is a vertex buffer, constant, constant buffer view, shader resource view, or unordered access view. - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set bits to identify the nodes (the device's physical adapters) for which the command signature is to apply. - Each bit in the mask corresponds to a single node. - Refer to Multi-adapter systems. - - - - Describes the width, height, format, and color space of a picture buffer. - Microsoft Docs: - - - - The width of the sample. - - - The height of the sample. - - - A D3D12_VIDEO_FORMAT structure describing the format and colorspace of the sample. - - - - Specifies a type of descriptor heap. - Microsoft Docs: - - - - The descriptor heap for the combination of constant-buffer, shader-resource, and unordered-access views. - - - The descriptor heap for the sampler. - - - The descriptor heap for the render-target view. - - - The descriptor heap for the depth-stencil view. - - - The number of types of descriptor heaps. - - - - Returns the ID3D12ShaderReflectionConstantBuffer of the present ID3D12ShaderReflectionVariable. - Microsoft Docs: - - - - - Flags to control pipeline state. - Microsoft Docs: - - - - Indicates no flags. - - - Indicates that the pipeline state should be compiled with additional information to assist debugging. - This can only be set on WARP devices. - - - - Describes the subresource from a multi sampled 2D texture to use in a render-target view. - Microsoft Docs: - - - - Integer of any value. See remarks. - - - - Specifies options for working with resources. - Microsoft Docs: - - - - No options are specified. - - - Allows a render target view to be created for the resource, as well as enables the resource to transition into the state of D3D12_RESOURCE_STATE_RENDER_TARGET. Some adapter architectures allocate extra memory for textures with this flag to reduce the effective bandwidth during common rendering. This characteristic may not be beneficial for textures that are never rendered to, nor is it available for textures compressed with BC formats. Applications should avoid setting this flag when rendering will never occur. - - -The following restrictions and interactions apply: - -
    -
  • Either the texture format must support render target capabilities at the current feature level. Or, when the format is a typeless format, a format within the same typeless group must support render target capabilities at the current feature level.
  • -
  • Cannot be set in conjunction with textures that have D3D12_TEXTURE_LAYOUT_ROW_MAJOR when D3D12_FEATURE_DATA_D3D12_OPTIONS::CrossAdapterRowMajorTextureSupported is FALSE nor in conjunction with textures that have D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE when D3D12_FEATURE_DATA_D3D12_OPTIONS::StandardSwizzle64KBSupported is FALSE. -
  • -
  • Cannot be used with 4KB alignment, D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, nor usage with heaps that have D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES.
  • -
-
- - Allows a depth stencil view to be created for the resource, as well as enables the resource to transition into the state of D3D12_RESOURCE_STATE_DEPTH_WRITE and/or D3D12_RESOURCE_STATE_DEPTH_READ. Most adapter architectures allocate extra memory for textures with this flag to reduce the effective bandwidth and maximize optimizations for early depth-test. Applications should avoid setting this flag when depth operations will never occur. - - -The following restrictions and interactions apply: - -
    -
  • Either the texture format must support depth stencil capabilities at the current feature level. Or, when the format is a typeless format, a format within the same typeless group must support depth stencil capabilities at the current feature level.
  • -
  • Cannot be used with D3D12_RESOURCE_DIMENSION_BUFFER, 4KB alignment, D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET, D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS, D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS, D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, nor used with heaps that have D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES or D3D12_HEAP_FLAG_ALLOW_DISPLAY. -
  • -
  • Precludes usage of WriteToSubresource and ReadFromSubresource. -
  • -
  • Precludes GPU copying of a subregion. CopyTextureRegion must copy a whole subresource to or from resources with this flag.
  • -
-
- - Allows an unordered access view to be created for the resource, as well as enables the resource to transition into the state of D3D12_RESOURCE_STATE_UNORDERED_ACCESS. Some adapter architectures must resort to less efficient texture layouts in order to provide this functionality. If a texture is rarely used for unordered access, it may be worth having two textures around and copying between them. One texture would have this flag, while the other wouldn't. Applications should avoid setting this flag when unordered access operations will never occur. - - -The following restrictions and interactions apply: - -
    -
  • Either the texture format must support unordered access capabilities at the current feature level. Or, when the format is a typeless format, a format within the same typeless group must support unordered access capabilities at the current feature level. -
  • -
  • Cannot be set in conjunction with textures that have D3D12_TEXTURE_LAYOUT_ROW_MAJOR when D3D12_FEATURE_DATA_D3D12_OPTIONS::CrossAdapterRowMajorTextureSupported is FALSE nor in conjunction with textures that have D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE when D3D12_FEATURE_DATA_D3D12_OPTIONS::StandardSwizzle64KBSupported is FALSE, nor when the feature level is less than 11.0. -
  • -
  • Cannot be used with MSAA textures.
  • -
-
- - Disallows a shader resource view to be created for the resource, as well as disables the resource to transition into the state of D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE or D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE. Some adapter architectures experience increased bandwidth for depth stencil textures when shader resource views are precluded. If a texture is rarely used for shader resource, it may be worth having two textures around and copying between them. One texture would have this flag and the other wouldn't. Applications should set this flag when depth stencil textures will never be used from shader resource views. - - -The following restrictions and interactions apply: - - -
    -
  • Must be used with D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL. -
  • -
-
- - Allows the resource to be used for cross-adapter data, as well as the same features enabled by ALLOW_SIMULTANEOUS_ACCESS. Cross adapter resources commonly preclude techniques that reduce effective texture bandwidth during usage, and some adapter architectures may require different caching behavior. Applications should avoid setting this flag when the resource data will never be used with another adapter. - -The following restrictions and interactions apply: - - -
    -
  • Must be used with heaps that have D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER.
  • -
  • Cannot be used with heaps that have D3D12_HEAP_FLAG_ALLOW_DISPLAY.
  • -
-
- - Allows a resource to be simultaneously accessed by multiple different queues, devices or processes (for example, allows a resource to be used with ResourceBarrier transitions performed in more than one command list - executing at the same time). - -Simultaneous access allows multiple readers and one writer, as long as the writer doesn't concurrently modify the texels that other readers are accessing. Some adapter architectures cannot leverage techniques to reduce effective texture bandwidth during usage. - -However, applications should avoid setting this flag when multiple readers are not required during frequent, non-overlapping writes to textures. Use of this flag can compromise resource fences to perform waits, and prevents any compression being used with a resource. - -These restrictions and interactions apply. - -- Can't be used with D3D12_RESOURCE_DIMENSION_BUFFER; but buffers always have the properties represented by this flag. -- Can't be used with MSAA textures. -- Can't be used with [D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL](). - - - This resource may only be used as a decode reference frame. It may only be written to or read by the video decode operation. - -D3D12_VIDEO_DECODE_TIER_1 and D3D12_VIDEO_DECODE_TIER_2 may report D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED in the D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT structure configuration flag. If so, the application must allocate reference frames with the new D3D12\_RESOURCE\_VIDEO\_DECODE\_REFERENCE\_ONLY resource flag. D3D12_VIDEO_DECODE_TIER_3 must not set the [D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED] -(../d3d12video/ne-d3d12video-d3d12_video_decode_configuration_flags)) configuration flag and must not require the use of this resource flag. - - - - Atomically copies a primary data element of type UINT from one resource to another, along with optional dependent resources. - Microsoft Docs: - SAL: _In_ - -The resource that the UINT primary data element is copied into. - An offset into the destination resource buffer that specifies where the primary data element is copied into, in bytes. This offset combined with the base address of the resource buffer must result in a memory address that's naturally aligned for UINT values. - SAL: _In_ - -The resource that the UINT primary data element is copied from. This data is typically an address, index, or other handle that shader code can use to locate the most-recent version of latency-sensitive information. - An offset into the source resource buffer that specifies where the primary data element is copied from, in bytes. This offset combined with the base address of the resource buffer must result in a memory address that's naturally aligned for UINT values. - The number of dependent resources. - SAL: _In_reads_(Dependencies) - -An array of resources that contain the dependent elements of the data payload. - SAL: _In_reads_(Dependencies) - -An array of subresource ranges that specify the dependent elements of the data payload. These elements are completely updated before the primary data element is itself atomically copied. This ensures that the entire operation is logically atomic; that is, the primary data element never refers to an incomplete data payload. - - - - - Represents a meta command. A meta command is a Direct3D 12 object representing an algorithm that is accelerated by independent hardware vendors (IHVs). It's an opaque reference to a command generator that is implemented by the driver. - Microsoft Docs: - - - - - Specifies the result of a call to ID3D12Device5::CheckDriverMatchingIdentifier which queries whether serialized data is compatible with the current device and driver version. - Microsoft Docs: - - - - Serialized data is compatible with the current device/driver. - - - The specified D3D12_SERIALIZED_DATA_TYPE specified is unknown or unsupported. - - - Format of the data in D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER is unrecognized. This could indicate either corrupt data or the identifier was produced by a different hardware vendor. - - - Serialized data is recognized, but its version is not compatible with the current driver. This result may indicate that the device is from the same hardware vendor but is an incompatible version. - - - D3D12_SERIALIZED_DATA_TYPE specifies a data type that is not compatible with the type of serialized data. As long as there is only a single defined serialized data type this error cannot not be produced. - - - - Defines constants that specify a cross-API sharing support tier. - Microsoft Docs: - - - - Specifies that the most basic level of cross-API sharing is supported, including the following resource data formats. - -* DXGI_FORMAT_R8G8B8A8_UNORM -* DXGI_FORMAT_R8G8B8A8_UNORM_SRGB -* DXGI_FORMAT_B8G8R8A8_UNORM -* DXGI_FORMAT_B8G8R8A8_UNORM_SRGB -* DXGI_FORMAT_B8G8R8X8_UNORM -* DXGI_FORMAT_B8G8R8X8_UNORM_SRGB -* DXGI_FORMAT_R10G10B10A2_UNORM -* DXGI_FORMAT_R16G16B16A16_FLOAT - - - Specifies that cross-API sharing functionality of Tier 0 is supported, plus the following formats. - -* DXGI_FORMAT_R16G16B16A16_TYPELESS -* DXGI_FORMAT_R10G10B10A2_TYPELESS -* DXGI_FORMAT_R8G8B8A8_TYPELESS -* DXGI_FORMAT_R8G8B8X8_TYPELESS -* DXGI_FORMAT_R16G16_TYPELESS -* DXGI_FORMAT_R8G8_TYPELESS -* DXGI_FORMAT_R32_TYPELESS -* DXGI_FORMAT_R16_TYPELESS -* DXGI_FORMAT_R8_TYPELESS - -This level support is built into WDDM 2.4. - -Also see [Extended support for shared Texture2D resources](/windows/win32/direct3d11/direct3d-11-1-features#extended-support-for-shared-texture2d-resources). - - - Specifies that cross-API sharing functionality of Tier 1 is supported, plus the following formats. - -* DXGI_FORMAT_NV12 (also see [Extended NV12 texture support](/windows/win32/direct3d11/direct3d-11-4-features#extended-nv12-texture-support)) - - - Specifies that cross-API sharing functionality of Tier 2 is supported, plus the following formats. - -* DXGI_FORMAT_R11G11B10_FLOAT - - - - Describes a video extension command. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - The unique identifier for the video extension command. - - - - Specifies the type of access that an application is given to the specified resource(s) at the transition into a render pass. - Microsoft Docs: - - - - Indicates that your application doesn't have any dependency on the prior contents of the resource(s). You also shouldn't have any expectations about those contents, because a display driver may return the previously-written contents, or it may return uninitialized data. You can be assured that reading from the resource(s) won't hang the GPU, even if you do get undefined data back. -A read is defined as a traditional read from an unordered access view (UAV), a shader resource view (SRV), a constant buffer view (CBV), a vertex buffer view (VBV), an index buffer view (IBV), an IndirectArg binding/read, or a blend/depth-testing-induced read. - - - Indicates that your application has a dependency on the prior contents of the resource(s), so the contents must be loaded from main memory. - - - Indicates that your application needs the resource(s) to be cleared to a specific value (a value that your application specifies). This clear occurs whether or not you interact with the resource(s) during the render pass. You specify the clear value at -BeginRenderPass time, in the Clear member of your D3D12_RENDER_PASS_BEGINNING_ACCESS structure. - - - Indicates that your application will neither read from nor write to the resource(s) during the render pass. You would most likely use this value to indicate that you won't be accessing the depth/stencil plane for a depth/stencil view (DSV). You must pair this value with D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS in the corresponding D3D12_RENDER_PASS_ENDING_ACCESS structure. - - - - Enables the debug layer. - Microsoft Docs: - - - - - Describes the space currently used by an acceleration structure.. - Microsoft Docs: - - - - Space currently used by an acceleration structure. If the acceleration structure hasn’t had a compaction operation performed on it, this size is the same one reported by GetRaytracingAccelerationStructurePrebuildInfo, and if it has been compacted this size is the same reported for post-build info with D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE. - - - - Specifies the type of heap. When resident, heaps reside in a particular physical memory pool with certain CPU cache properties. - Microsoft Docs: - - - - Specifies the default heap. - This heap type experiences the most bandwidth for the GPU, but cannot provide CPU access. - The GPU can read and write to the memory from this pool, and resource transition barriers may be changed. - The majority of heaps and resources are expected to be located here, and are typically populated through resources in upload heaps. - - - Specifies a heap used for uploading. - This heap type has CPU access optimized for uploading to the GPU, but does not experience the maximum amount of bandwidth for the GPU. - This heap type is best for CPU-write-once, GPU-read-once data; but GPU-read-once is stricter than necessary. - GPU-read-once-or-from-cache is an acceptable use-case for the data; but such usages are hard to judge due to differing GPU cache designs and sizes. - If in doubt, stick to the GPU-read-once definition or profile the difference on many GPUs between copying the data to a _DEFAULT heap vs. reading the data from an _UPLOAD heap. - - -Resources in this heap must be created with D3D12_RESOURCE_STATE_GENERIC_READ and cannot be changed away from this. - The CPU address for such heaps is commonly not efficient for CPU reads. - - -The following are typical usages for _UPLOAD heaps: - - -
    -
  • Initializing resources in a _DEFAULT heap with data from the CPU. -
  • -
  • Uploading dynamic data in a constant buffer that is read, repeatedly, by each vertex or pixel. -
  • -
-The following are likely not good usages for _UPLOAD heaps: - - -
    -
  • Re-initializing the contents of a resource every frame. -
  • -
  • Uploading constant data which is only used every other Draw call, where each Draw uses a non-trivial amount of other data. -
  • -
-
- - Specifies a heap used for reading back. - This heap type has CPU access optimized for reading data back from the GPU, but does not experience the maximum amount of bandwidth for the GPU. - This heap type is best for GPU-write-once, CPU-readable data. - The CPU cache behavior is write-back, which is conducive for multiple sub-cache-line CPU reads. - - -Resources in this heap must be created with D3D12_RESOURCE_STATE_COPY_DEST, and cannot be changed away from this. - - - Specifies a custom heap. - The application may specify the memory pool and CPU cache properties directly, which can be useful for UMA optimizations, multi-engine, multi-adapter, or other special cases. - To do so, the application is expected to understand the adapter architecture to make the right choice. - For more details, see - D3D12_FEATURE_ARCHITECTURE, - D3D12_FEATURE_DATA_ARCHITECTURE, and - GetCustomHeapProperties. - - - - Represents a Direct3D 12 video decoder that contains resolution-independent resources and state for performing the decode operation. Adds support for protected resources. - Microsoft Docs: - - - - - Retrieves the requested PSO from the library. - Microsoft Docs: - The unique name of the PSO. - Specifies a description of the required PSO in a D3D12_GRAPHICS_PIPELINE_STATE_DESC structure. This input description is matched against the data in the current library database, and stored in order to prevent duplication of PSO contents. - Specifies a REFIID for the ID3D12PipelineState object. Typically set this, and the following parameter, with the macro IID_PPV_ARGS(&PSO1), where PSO1 is the name of the object. - Specifies a pointer that will reference the returned PSO. - - - - - 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. - - - - Description of the post-build information to generate from an acceleration structure. Use this structure in calls to EmitRaytracingAccelerationStructurePostbuildInfo and BuildRaytracingAccelerationStructure. - Microsoft Docs: - - - - Storage for the post-build info result. Size required and the layout of the contents written by the system depend on the value of the InfoType field. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_UNORDERED_ACCESS. The memory must be aligned to the natural alignment for the members of the particular output structure being generated (e.g. 8 bytes for a struct with the largest members being UINT64). - - - The type of post-build information to retrieve. - - - - Describes parameters for drawing indexed instances. - 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. - - - - Indicates whether a shader is a sample frequency shader. - Microsoft Docs: - - - - - 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 D3D12_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 D3D12_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 D3D12_MESSAGE_ID). - - - - Reports the compatibility of serialized data, such as a serialized raytracing acceleration structure resulting from a call to CopyRaytracingAccelerationStructure with mode D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE, with the current device/driver. - Microsoft Docs: - The type of the serialized data. For more information, see D3D12_SERIALIZED_DATA_TYPE. - Identifier from the header of the serialized data to check with the driver. For more information, see D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER. - - - - - Describes 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, plus 1. This means that right - left equals the width of the box. - - - The y position of the bottom of the box, plus 1. This means that bottom - top equals the height of the box. - - - The z position of the back of the box, plus 1. This means that back - front equals the depth of the box. - - - - Provides data for calls to ID3D12VideoDevice::CheckFeatureSupport when the feature specified is D3D12_FEATURE_VIDEO_MOTION_ESTIMATOR. Retrieves the motion estimation capabilities for a video encoder. - Microsoft Docs: - - - - In multi-adapter operation, identifies the physical adapter of the device this operation applies to. - - - A DXGI_FORMAT structure specifying the format of the input resources. - - - A bitwise OR combination of values from the D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE_FLAGS enumeration specifying the encoder's supported search block sizes for motion estimation. - - - A bitwise OR combination of values from the D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION_FLAGS enumeration specifying the encoder's supported vector precision for motion estimation. - - - A D3D12_VIDEO_SIZE_RANGE structure representing the minimum and maximum input size supported by the driver. The driver sets the fields of this structure to zero if motion estimation is unsupported. - - - - Specifies whether a video decoding operation is supported. - Microsoft Docs: - - - - The video decoding operation isn't supported. - - - The video decoding operation is supported. - - - - Specifies the type of the indirect parameter. - Microsoft Docs: - - - - Indicates the type is a Draw call. - - - Indicates the type is a DrawIndexed call. - - - Indicates the type is a Dispatch call. - - - Indicates the type is a vertex buffer view. - - - Indicates the type is an index buffer view. - - - Indicates the type is a constant. - - - Indicates the type is a constant buffer view (CBV). - - - Indicates the type is a shader resource view (SRV). - - - Indicates the type is an unordered access view (UAV). - - - - Creates a graphics pipeline state object. - Microsoft Docs: - A pointer to a D3D12_GRAPHICS_PIPELINE_STATE_DESC structure that describes graphics pipeline state. - The globally unique identifier (GUID) for the pipeline state interface (ID3D12PipelineState). - The REFIID, or GUID, of the interface to the pipeline state can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12PipelineState) will get the GUID of the interface to a pipeline state. - A pointer to a memory block that receives a pointer to the ID3D12PipelineState interface for the pipeline state object. - The pipeline state object is an immutable state object. It contains no methods. - - - - - Copy a multi-sampled resource into a non-multi-sampled resource. - Microsoft Docs: - Destination resource. Must be a created on a D3D12_HEAP_TYPE_DEFAULT heap and be single-sampled. See ID3D12Resource. - A zero-based index, that identifies the destination subresource. Use D3D12CalcSubresource to calculate the subresource index if the parent resource is complex. - 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. - - - - - A library-reflection interface accesses library info. - Microsoft Docs: - - - - - Push a copy of retrieval filter currently on the top of the retrieval-filter stack onto the retrieval-filter stack. - Microsoft Docs: - - - - - Describes parameters for drawing instances. - Microsoft Docs: - - - - Specifies the number of vertices to draw, per instance. - - - Specifies the number of instances. - - - Specifies an index to the first vertex to start drawing from. - - - Specifies an index to the first instance to start drawing from. - - - - Describes the index buffer to view. - Microsoft Docs: - - - - The GPU virtual address of the index buffer. - D3D12_GPU_VIRTUAL_ADDRESS is a typedef'd synonym of UINT64. - - - The size in bytes of the index buffer. - - - A DXGI_FORMAT-typed value for the index-buffer format. - - - - Specifies flags for raytracing geometry in a D3D12_RAYTRACING_GEOMETRY_DESC structure. - Microsoft Docs: - - - - No options specified. - - - When rays encounter this geometry, the geometry acts as if no any hit shader is present. It is recommended that apps use this flag liberally, as it can enable important ray-processing optimizations. Note that this behavior can be overridden on a per-instance basis with D3D12_RAYTRACING_INSTANCE_FLAGS and on a per-ray basis using ray flags in TraceRay. - - - By default, the system is free to trigger an any hit shader more than once for a given ray-primitive intersection. This flexibility helps improve the traversal efficiency of acceleration structures in certain cases. For instance, if the acceleration structure is implemented internally with bounding volumes, the implementation may find it beneficial to store relatively long triangles in multiple bounding boxes rather than a larger single box. However, some application use cases require that intersections be reported to the any hit shader at most once. This flag enables that guarantee for the given geometry, potentially with some performance impact. - -This flag applies to all geometry types. - - - - The type of a state subobject. Use with D3D12_STATE_SUBOBJECT. - Microsoft Docs: - - - - Subobject type is D3D12_STATE_OBJECT_CONFIG. - - - Subobject type is D3D12_GLOBAL_ROOT_SIGNATURE. - - - Subobject type is D3D12_LOCAL_ROOT_SIGNATURE. - - - Subobject type is D3D12_NODE_MASK. - -> [!IMPORTANT] -> On some versions of the DirectX Runtime, specifying a node via [D3D12_NODE_MASK](/windows/win32/api/d3d12/ns-d3d12-d3d12_node_mask) in a [D3D12_STATE_SUBOBJECT](/windows/win32/api/d3d12/ns-d3d12-d3d12_state_subobject) with type D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK, the runtime will incorrectly handle a node mask value of 0, which should use node #1, which will lead to errors when attempting to use the state object later. Specify an explicit node value of 1, or omit the [D3D12_NODE_MASK](/windows/win32/api/d3d12/ns-d3d12-d3d12_node_mask) subobject to avoid this issue. - - - Subobject type is D3D12_DXIL_LIBRARY_DESC. - - - Subobject type is D3D12_EXISTING_COLLECTION_DESC. - - - Subobject type is D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION. - - - Subobject type is D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION. - - - Subobject type is D3D12_RAYTRACING_SHADER_CONFIG. - - - Subobject type is D3D12_RAYTRACING_PIPELINE_CONFIG. - - - Subobject type is D3D12_HIT_GROUP_DESC - - - The maximum valid subobject type value. - - - - A state subobject that represents a shader configuration. - Microsoft Docs: - - - - The maximum storage for scalars (counted as 4 bytes each) in ray payloads in raytracing pipelines that contain this program. - - - The maximum number of scalars (counted as 4 bytes each) that can be used for attributes in pipelines that contain this shader. The value cannot exceed D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES. - - - - Defines vector precision values for video motion estimation. - Microsoft Docs: - - - - The vector precision is quarter-pixel motion. - - - - Describes the level of shader caching supported in the current graphics driver. - Microsoft Docs: - - - - SAL: _Out_ - -Indicates the level of caching supported. - - - - Specifies the types of parameters for video extension commands. - Microsoft Docs: - - - - Unsigned 8-bit integer. - - - Unsigned 16-bit integer. - - - Unsigned 32-bit integer. - - - Unsigned 64-bit integer. - - - Signed 8-bit integer. - - - Signed 16-bit integer. - - - Signed 32-bit integer. - - - Signed 64-bit integer. - - - IEEE 32-bit floating point number - - - IEEE 64-bit floating point number - - - A D3D12DDI_HRESOURCE handle. The caller must use resource barriers to transition to the state appropriate for the parameter. - -| D3D12_COMMAND_LIST_SUPPORT_FLAGS value | Read | Write | -|-------------------|---------------------------|------------------------| -| D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE | D3D12_RESOURCE_STATE_VIDEO_DECODE_READ | D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE | -| D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS | D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ | D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE | -| D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE | D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ | D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE | - - - - Details the adapter's GPU virtual address space limitations, including maximum address bits per resource and per process. - Microsoft Docs: - - - - The maximum GPU virtual address bits per resource. - -Some adapters have significantly less bits available per resource than per process, while other adapters have significantly greater bits available per resource than per process. The latter scenario tends to happen in less common scenarios, like when running a 32-bit process on certain UMA adapters. -When per resource capabilities are greater than per process, the greater per resource capabilities can only be leveraged by reserved resources or NULL mapped pages. - - - The maximum GPU virtual address bits per process. - -When this value is nearly equal to the available residency budget, Evict will not be a feasible option to manage residency. See MakeResident for more details. - - - - Describes which resources are supported by the current graphics driver for a given format. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value for the format to return info about. - - - A combination of D3D12_FORMAT_SUPPORT1-typed values that are combined by using a bitwise OR operation. The resulting value specifies which resources are supported. - - - A combination of D3D12_FORMAT_SUPPORT2-typed values that are combined by using a bitwise OR operation. The resulting value specifies which unordered resource options are supported. - - - - Returns the debug feature flags that have been set on a command list. - Microsoft Docs: - - - - - Gets optional device-wide Debug Layer settings. - Microsoft Docs: - Specifies a D3D12_DEBUG_DEVICE_PARAMETER_TYPE value that indicates which debug parameter data to set. - Points to the memory that will be filled with a copy of the debug parameter data. The interpretation of this data depends on the D3D12_DEBUG_DEVICE_PARAMETER_TYPE given in the Type parameter. - Size in bytes of the memory buffer pointed to by pData. - - - - - Specifies depth-stencil view options. - Microsoft Docs: - - - - Indicates a default view. - - - Indicates that depth values are read only. - - - Indicates that stencil values are read only. - - - - Describes the access to resource(s) that is requested by an application at the transition out of a render pass. - Microsoft Docs: - - - - A D3D12_RENDER_PASS_ENDING_ACCESS_TYPE. The type of access being requested. - - - A D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS. Appropriate when Type is D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE. Description of the resource to resolve to. - - - - Gets an ID3D12ShaderReflectionType Interface interface containing the variable base class type. - Microsoft Docs: - - - - - Provides detail about whether the adapter supports creating heaps from existing system memory. - Microsoft Docs: - - - - TRUE if the adapter can create a heap from existing system memory. Otherwise, FALSE. - - - - Gets the function reflector. - Microsoft Docs: - The zero-based index of the function reflector to retrieve. - - - - - Represents prebuild information about a raytracing acceleration structure. Get an instance of this stucture by calling GetRaytracingAccelerationStructurePrebuildInfo. - Microsoft Docs: - - - - Size required to hold the result of an acceleration structure build based on the specified inputs. - - - Scratch storage on the GPU required during acceleration structure build based on the specified inputs. - - - - Defines constants that specify the shading rate (for variable-rate shading, or VRS). - Microsoft Docs: - - - - Specifies no change to the shading rate. - - - Specifies that the shading rate should reduce vertical resolution 2x. - - - Specifies that the shading rate should reduce horizontal resolution 2x. - - - Specifies that the shading rate should reduce the resolution of both axes 2x. - - - Specifies that the shading rate should reduce horizontal resolution 2x, and reduce vertical resolution 4x. - - - Specifies that the shading rate should reduce horizontal resolution 4x, and reduce vertical resolution 2x. - - - Specifies that the shading rate should reduce the resolution of both axes 4x. - - - - 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 application-defined data from a device object. - Microsoft Docs: - The GUID that is 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 memory block that receives the data from the device object if pDataSize points to a value that specifies a buffer large enough to hold the data. - - - - - Retrieves support information for video decoding. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A D3D12\_VIDEO\_DECODE\_CONFIGURATION structure specifying the decode profile, bitstream encryption, and interlace type of the source stream. - - - The decode width of the source stream. - - - The decode height of the source stream - - - The DXGI\_FORMAT to use as the decode format. This format is the output format if no decoder conversion is specified. - - - The frame rate of the video format. A value of 0 means the frame rate is unknown. - - - The average bits per second data compression rate for the compressed video stream. This information is used by the driver to determine whether the video can be decoded in real-time. A value of 0 means the bit rate is unknown. - - - A combination of values from the D3D12\_VIDEO\_DECODE\_SUPPORT\_FLAGS enumeration indicating the support for video decoding. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - A combination of values from the D3D12\_VIDEO\_DECODE\_CONFIGURATION\_FLAGS eumeration describing the video decode configuration. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - A member of the D3D12\_VIDEO\_DECODE\_TIER enumeration specifying the decoding tier of a hardware video decoder. - - - - Specifies indices for arrays of per component histogram information. - 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. - - - - Identifies 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. - - - - Creates a shader-resource view for accessing data in a resource. - Microsoft Docs: - A pointer to the ID3D12Resource object that represents the shader resource. - -At least one of pResource or pDesc must be provided. -A null pResource is used to initialize a null descriptor, which guarantees D3D11-like null binding behavior (reading 0s, writes are discarded), but must have a valid pDesc in order to determine the descriptor type. - A pointer to a D3D12_SHADER_RESOURCE_VIEW_DESC structure that describes the shader-resource view. - -A null pDesc is used to initialize a default descriptor, if possible. This behavior is identical to the D3D11 null descriptor behavior, where defaults are filled in. This behavior inherits the resource format and dimension (if not typeless) and for buffers SRVs target a full buffer and are typed (not raw or structured), and for textures SRVs target a full texture, all mips and all array slices. Not all resources support null descriptor initialization. - Describes the CPU descriptor handle that represents the shader-resource view. This handle can be created in a shader-visible or non-shader-visible descriptor heap. - - - - - Defines constants that specify protected resource session flags. - Microsoft Docs: - - - - Specifies no flag. - - - - The root signature defines what resources are bound to the graphics pipeline. A root signature is configured by the app and links command lists to the resources the shaders require. Currently, there is one graphics and one compute root signature per app. - Microsoft Docs: - - - - - Contains methods to return the deserialized D3D12_ROOT_SIGNATURE_DESC1 data structure, of any version of a serialized root signature. - Microsoft Docs: - - - - - Represents a virtual adapter. This interface extends ID3D12Device5. - Microsoft Docs: - - - - - Encapsulates a list of graphics commands for video encoding, including motion estimation. - Microsoft Docs: - - - - - A command signature object enables apps to specify indirect drawing, including the buffer format, command type and resource bindings to be used. - Microsoft Docs: - - - - - Get the number of messages that are able to pass through a retrieval filter. - Microsoft Docs: - - - - - 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. - - - - - Contains the reference frames needed to perform video processing. - Microsoft Docs: - - - - The number of past reference frames provided in ppPastFrames. - - - A pointer to an array of ID3D12Resource surfaces. The number of elements in the array is NumPastFrames. - - - An array of subresource indices for the list of ppPastFrames textures. NULL indicates subresource 0 for each resource. - - - The number of future reference frames provided in ppPastFrames. - - - A pointer to an array of ID3D12Resource surfaces. The number of elements in the array is NumFutureFrames. - - - An array of subresource indices for the list of ppFutureFrames textures. NULL indicates subresource 0 for each resource. - - - - Sets a descriptor table into the graphics root signature. - Microsoft Docs: - The slot number for binding. - A GPU_descriptor_handle object for the base descriptor to set. - - - - - Indicates root signature version support. - Microsoft Docs: - - - - On input, specifies the highest version D3D_ROOT_SIGNATURE_VERSION to check for. On output specifies the highest version, up to the input version specified, actually available. - - - - Deserializes a root signature so you can determine the layout definition (D3D12_ROOT_SIGNATURE_DESC). - Microsoft Docs: - A pointer to the source data for the serialized root signature. - The size, in bytes, of the block of memory that pSrcData points to. - The globally unique identifier (GUID) for the root signature deserializer interface. See remarks. - A pointer to a memory block that receives a pointer to the root signature deserializer. - - - - - A descriptor heap is a collection of contiguous allocations of descriptors, one allocation for every descriptor. - Microsoft Docs: - - - - - Asynchronously makes objects resident for the device. - Microsoft Docs: - Controls whether the objects should be made resident if the application is over its memory budget. - The number of objects in the ppObjects array to make resident for the device. - A pointer to a memory block; contains an array of ID3D12Pageable interface pointers for the objects. - - -Even though most D3D12 objects inherit from ID3D12Pageable, residency changes are only supported on the following: - -
    -
  • descriptor heaps
  • -
  • heaps
  • -
  • committed resources
  • -
  • query heaps
  • -
- A pointer to the fence used to signal when the work is done. - An unsigned 64-bit value signaled to the fence when the work is done. -
-
- - - Describes a compute pipeline state object. - Microsoft Docs: - - - - A pointer to the ID3D12RootSignature object. - - - A D3D12_SHADER_BYTECODE structure that describes the compute shader. - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set bits to identify the nodes (the device's physical adapters) for which the compute pipeline state is to apply. - Each bit in the mask corresponds to a single node. - Refer to Multi-adapter systems. - - - A cached pipeline state object, as a D3D12_CACHED_PIPELINE_STATE structure. pCachedBlob and CachedBlobSizeInBytes may be set to NULL and 0 respectively. - - - A D3D12_PIPELINE_STATE_FLAGS enumeration constant such as for "tool debug". - - - - 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. - - - - - Sets a group of constants in the compute root signature. - Microsoft Docs: - The slot number for binding. - The number of constants to set in the root signature. - The source data for the group of constants to set. - The offset, in 32-bit values, to set the first constant of the group in the root signature. - - - - - Describes the subresource from a multi sampled 2D texture that is accessible to a depth-stencil view. - Microsoft Docs: - - - - Unused. - - - - Sets a state object on the command list. - Microsoft Docs: - The state object to set on the command list. In the current release, this can only be of type D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE. - - - - - Flags for a raytracing acceleration structure instance. These flags can be used to override D3D12_RAYTRACING_GEOMETRY_FLAGS for individual instances. - Microsoft Docs: - - - - No options specified. - - - Disables front/back face culling for this instance. The Ray flags RAY_FLAG_CULL_BACK_FACING_TRIANGLES and RAY_FLAG_CULL_FRONT_FACING_TRIANGLES will have no effect on this instance. - - - This flag reverses front and back facings, which is useful if the application’s natural winding order differs from the default. By default, a triangle is front facing if its vertices appear clockwise from the ray origin and back facing if its vertices appear counter-clockwise from the ray origin, in object space in a left-handed coordinate system. - -Since these winding direction rules are defined in object space, they are unaffected by instance transforms. For example, an instance transform matrix with negative determinant (e.g. mirroring some geometry) does not change the facing of the triangles within the instance. Per-geometry transforms defined in D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC , by contrast, get combined with the associated vertex data in object space, so a negative determinant matrix there does flip triangle winding. - - - The instance will act as if D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE had been specified for all the geometries in the bottom-level acceleration structure referenced by the instance. Note that this behavior can be overridden by the ray flag RAY_FLAG_FORCE_NON_OPAQUE. - -This flag is mutually exclusive to the D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE flag. - - - The instance will act as if D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE had not been specified for any of the geometries in the bottom-level acceleration structure referenced by the instance. Note that this behavior can be overridden by the ray flag RAY_FLAG_FORCE_OPAQUE. - -This flag is mutually exclusive to the D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE flag. - - - - 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. - - - The size of the buffer, 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. - - - - Defines the header for a serialized raytracing acceleration structure. - Microsoft Docs: - - - - The driver-matching identifier. - - - The size of serialized data. - - - Size of the memory that will be consumed when the acceleration structure is deserialized. This value is less than or equal to the size of the original acceleration structure before it was serialized. - - - Size of the array of D3D12_GPU_VIRTUAL_ADDRESS values that follow the header. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC. - - - - Gets a bit field of flags that indicates which debug features are on or off. - Microsoft Docs: - - - - - Sets all shaders and programs most of the fixed-function state of the graphics processing unit (GPU) pipeline. - Microsoft Docs: - Pointer to the ID3D12PipelineState containing the pipeline state data. - - - - - Provides detail about the adapter architecture, so that your application can better optimize for certain adapter properties. - Microsoft Docs: - - - - In multi-adapter operation, this indicates which physical adapter of the device is relevant. - See Multi-adapter systems. - NodeIndex is filled out by the application before calling CheckFeatureSupport, as the application can retrieve details about the architecture of each adapter. - - - Specifies whether the hardware and driver support a tile-based renderer. - The runtime sets this member to TRUE if the hardware and driver support a tile-based renderer. - - - Specifies whether the hardware and driver support UMA. - The runtime sets this member to TRUE if the hardware and driver support UMA. - - - Specifies whether the hardware and driver support cache-coherent UMA. - The runtime sets this member to TRUE if the hardware and driver support cache-coherent UMA. - - - - Gets a shader-reflection-variable type. - Microsoft Docs: - Zero-based index. - - - - - This interface enables modification of additional command list debug layer settings. - Microsoft Docs: - - - - - Gets an input-parameter description for a shader. - Microsoft Docs: - A zero-based parameter index. - A pointer to a shader-input-signature description. See D3D12_SIGNATURE_PARAMETER_DESC. - - - - - Sets application-defined data to a device object and associates that data with an application-defined GUID. - Microsoft Docs: - The GUID to associate with the data. - The size in bytes of the data. - A pointer to a memory block that contains the data to be stored with this device object. If pData is NULL, DataSize must also be 0, and any data that was previously associated with the GUID specified in guid will be destroyed. - - - - - Marks the beginning of a render pass by binding a set of output resources for the duration of the render pass. These bindings are to one or more render target views (RTVs), and/or to a depth stencil view (DSV). - Microsoft Docs: - A UINT. The number of render targets being bound. - A pointer to a constant D3D12_RENDER_PASS_RENDER_TARGET_DESC, which describes bindings (fixed for the duration of the render pass) to one or more render target views (RTVs), as well as their beginning and ending access characteristics. - A pointer to a constant D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, which describes a binding (fixed for the duration of the render pass) to a depth stencil view (DSV), as well as its beginning and ending access characteristics. - A D3D12_RENDER_PASS_FLAGS. The nature/requirements of the render pass; for example, whether it is a suspending or a resuming render pass, or whether it wants to write to unordered access view(s). - - - - - Retrieves the list of supported profiles. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A D3D12\_VIDEO\_DECODE\_CONFIGURATION structure describing the decode configuration. - - - A D3D12\_VIDEO\_SAMPLE structure representing the source decoded as sample description. - - - A D3D12\_VIDEO\_FORMAT structure containing the output sample description. - - - The frame rate of the video content. This is used by the driver to determine whether the video can be decoded in real-time. - - - The average bits per second data compression rate for the compressed video stream. This is used by the driver to determine whether the video can be decoded in real-time. - - - A combination of values from the D3D12\_VIDEO\_DECODE\_CONVERSION\_SUPPORT\_FLAGS indicating the support for the specified conversion. - - - A D3D12\_VIDEO\_SCALE\_SUPPORT structure representing the output size range for decode conversion. - - - - This interface is used to configure the runtime for tools such as PIX. Its not intended or supported for any other scenario. - Microsoft Docs: - - - - - Represents a fence. This interface extends ID3D12Fence, and supports the retrieval of the flags used to create the original fence. - Microsoft Docs: - - - - - Specifies the parameters for decode output conversion. - Microsoft Docs: - - - - A boolean value indicating whether decode conversion should be used. - - - A pointer to an ID3D12Resource containing the native decoding output. When downsampling is enabled, the output at native decode resolution, color space, and format may be required for future decode submissions (as reference frames, for instance). - - - The subresource index of the resource provided in pDecodeTexture2D to use. - - - A value from the DXGI_COLOR_SPACE_TYPE enumeration specifying the target color space of the output. - - - A value from the DXGI_COLOR_SPACE_TYPE enumeration specifying the source-decoded color space before conversion. - - - The output width, in pixels. - - - The output width, in pixels. - - - - Describes a meta command. - Microsoft Docs: - - - - A GUID uniquely identifying the meta command. - - - The meta command name. - - - Declares the command list states that are modified by the call to initialize the meta command. If all state bits are set, then that's equivalent to calling ID3D12GraphicsCommandList::ClearState. - - - Declares the command list states that are modified by the call to execute the meta command. If all state bits are set, then that's equivalent to calling ID3D12GraphicsCommandList::ClearState. - - - - Describes a shader-resource view. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value that specifies the viewing format. See remarks. - - - A D3D12_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 value, constructed using the D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING macro. The D3D12_SHADER_COMPONENT_MAPPING enumeration specifies what values from memory should be returned when the texture is accessed in a shader via this shader resource view (SRV). For example, it can route component 1 (green) from memory, or the constant 0, into component 2 (.b) of the value given to the shader. - - - A D3D12_BUFFER_SRV structure that views the resource as a buffer. - - - A D3D12_TEX1D_SRV structure that views the resource as a 1D texture. - - - A D3D12_TEX1D_ARRAY_SRV structure that views the resource as a 1D-texture array. - - - A D3D12_TEX2D_SRV structure that views the resource as a 2D-texture. - - - A D3D12_TEX2D_ARRAY_SRV structure that views the resource as a 2D-texture array. - - - A D3D12_TEX2DMS_SRV structure that views the resource as a 2D-multisampled texture. - - - A D3D12_TEX2DMS_ARRAY_SRV structure that views the resource as a 2D-multisampled-texture array. - - - A D3D12_TEX3D_SRV structure that views the resource as a 3D texture. - - - A D3D12_TEXCUBE_SRV structure that views the resource as a 3D-cube texture. - - - A D3D12_TEXCUBE_ARRAY_SRV structure that views the resource as a 3D-cube-texture array. - - - A D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV structure that views the resource as a raytracing acceleration structure. - - - - Push an empty storage filter onto the storage-filter stack. - Microsoft Docs: - - - - - Get the number of messages that were allowed to pass through a storage filter. - Microsoft Docs: - - - - - This shader-reflection interface provides access to variable type. - Microsoft Docs: - - - - - Describes the subresource from a 2D texture to use in a render-target view. - Microsoft Docs: - - - - The index of the mipmap level to use. - - - The index (plane slice number) of the plane to use in the texture. - - - - Specifies constraints for state objects. Use values from this enumeration in the D3D12_STATE_OBJECT_CONFIG structure. - Microsoft Docs: - - - - No state object constraints. - - - This flag applies to state objects of type collection only. Otherwise this flag is ignored. - -The exports from this collection are allowed to have unresolved references (dependencies) that would have to be resolved (defined) when the collection is included in a containing state object, such as a raytracing pipeline state object (RTPSO). This includes depending on externally defined subobject associations to associate an external subobject (e.g. root signature) to a local export. - -In the absence of this flag, all exports in this collection must have their dependencies fully locally resolved, including any necessary subobject associations being defined locally. Advanced implementations/drivers will have enough information to compile the code in the collection and not need to keep around any uncompiled code (unless the D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS flag is set), so that when the collection is used in a containing state object (e.g. RTPSO), minimal work needs to be done by the driver, ideally a “cheap” link at most. - - - This flag applies to state objects of type collection only. Otherwise this flag is ignored. - -If this collection is included in another state object (e.g. RTPSO), shaders / functions in the rest of the containing state object are allowed to depend on (e.g. call) exports from this collection. - -In the absence of this flag (default), exports from this collection cannot be directly referenced by other parts of containing state objects (e.g. RTPSO). This can reduce memory footprint for the collection slightly since drivers don’t need to keep uncompiled code in the collection on the off chance that it may get called by some external function that would then compile all the code together. That said, if not all necessary subobject associations have been locally defined for code in this collection, the driver may not be able to compile shader code yet and may still need to keep uncompiled code around. - -A subobject association defined externally that associates an external subobject to a local export does not count as an external dependency on a local definition, so the presence or absence of this flag does not affect whether the association is allowed or not. On the other hand if the current collection defines a subobject association for a locally defined subobject to an external export (e.g. shader), that counts as an external dependency on a local definition and this flag must be set. - -Regardless of the presence or absence of this flag, shader entrypoints (such as hit groups or miss shaders) in the collection are visible as entrypoints to a containing state object (e.g. RTPSO) if exported by it. In the case of an RTPSO, the exported entrypoints can be used in shader tables for raytracing. - - - - Represents a virtual adapter. This interface extends ID3D12Device6. - Microsoft Docs: - - - - - Specifies support for the image filters defined by the D3D12_VIDEO_PROCESS_FILTER enumeration. - Microsoft Docs: - - - - The video processor doesn't support any filters. - - - The video processor can adjust the brightness level. - - - The video processor can adjust the contrast level. - - - The video processor can adjust hue. - - - The video processor can adjust the saturation level. - - - The video processor can perform noise reduction. - - - The video processor can perform edge enhancement. - - - The video processor can perform anamorphic scaling. Anamorphic scaling can be used to stretch 4:3 content to a widescreen 16:9 aspect ratio. - - - For stereo 3D video, the video processor can adjust the offset between the left and right views, allowing the user to reduce potential eye strain. - - - - Represents a fence, an object used for synchronization of the CPU and one or more GPUs. - Microsoft Docs: - - - - - Describes descriptors inline in the root signature version 1.1 that appear in shaders. - Microsoft Docs: - - - - The shader register. - - - The register space. - - - Specifies the D3D12_ROOT_DESCRIPTOR_FLAGS that determine the volatility of descriptors and the data they reference. - - - - Copy a region of a multisampled or compressed resource into a non-multisampled or non-compressed resource. - Microsoft Docs: - SAL: _In_ - -Destination resource. Must be created with the D3D11_USAGE_DEFAULT flag and must be single-sampled unless its to be resolved from a compressed resource (D3D12_RESOLVE_MODE_DECOMPRESS); in this case it must have the same sample count as the compressed source. - SAL: _In_ - -A zero-based index that identifies the destination subresource. Use D3D12CalcSubresource to calculate the subresource index if the parent resource is complex. - SAL: _In_ - -The X coordinate of the left-most edge of the destination region. The width of the destination region is the same as the width of the source rect. - SAL: _In_ - -The Y coordinate of the top-most edge of the destination region. The height of the destination region is the same as the height of the source rect. - SAL: _In_ - -Source resource. Must be multisampled or compressed. - SAL: _In_ - -A zero-based index that identifies the source subresource. - SAL: _In_opt_ - -Specifies the rectangular region of the source resource to be resolved. Passing NULL for pSrcRect specifies that the entire subresource is to be resolved. - SAL: _In_ - -A DXGI_FORMAT that specifies how the source and destination resource formats are consolidated. - SAL: _In_ - -Specifies the operation used to resolve the source samples. - -When using the D3D12_RESOLVE_MODE_DECOMPRESS operation, the sample count can be larger than 1 as long as the source and destination have the same sample count, and source and destination may specify the same resource as long as the source rect aligns with the destination X and Y coordinates, in which case decompression occurs in place. - -When using the D3D12_RESOLVE_MODE_MIN, D3D12_RESOLVE_MODE_MAX, or D3D12_RESOLVE_MODE_AVERAGE operation, the destination must have a sample count of 1. - - - - - Extracts data from a query. ResolveQueryData works with all heap types (default, upload, and readback).  ResolveQueryData works with all heap types (default, upload, and readback). . - Microsoft Docs: - Specifies the ID3D12QueryHeap containing the queries to resolve. - Specifies the type of query, one member of D3D12_QUERY_TYPE. - Specifies an index of the first query to resolve. - Specifies the number of queries to resolve. - Specifies an ID3D12Resource destination buffer, which must be in the state - D3D12_RESOURCE_STATE_COPY_DEST. - Specifies an alignment offset into the destination buffer. - Must be a multiple of 8 bytes. - - - - - Gets the cached blob representing the pipeline state. - Microsoft Docs: - After this method returns, points to the cached blob representing the pipeline state. - - - - - Describes the properties of a ray dispatch operation initiated with a call to ID3D12GraphicsCommandList4::DispatchRays. - Microsoft Docs: - - - - The shader record for the ray generation shader to use. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. - -The address must be aligned to 64 bytes, defined as D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT, and in the range [0...4096] bytes. - - - The shader table for miss shaders. - -The stride is record stride, and must be aligned to 32 bytes, defined as D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT, and in the range [0...4096] bytes. 0 is allowed. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. - -The address must be aligned to 64 bytes, defined as D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT. - - - The shader table for hit groups. - -The stride is record stride, and must be aligned to 32 bytes, defined as D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT, and in the range [0...4096] bytes. 0 is allowed. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. - -The address must be aligned to 64 bytes, defined as D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT. - - - The shader table for callable shaders. - -The stride is record stride, and must be aligned to 32 bytes, defined as D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT. 0 is allowed. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. - -The address must be aligned to 64 bytes, defined as D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT. - - - The width of the generation shader thread grid. - - - The height of the generation shader thread grid. - - - The depth of the generation shader thread grid. - - - - Gets a description of how a resource is bound to a function. - Microsoft Docs: - A zero-based resource index. - A pointer to a D3D12_SHADER_INPUT_BIND_DESC structure that describes input binding of the resource. - - - - - Retrieves the number of video extension commands. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - The supported number of video extension commands. - - - - This method is used to determine the rate at which the GPU timestamp counter increments. - Microsoft Docs: - The GPU timestamp counter frequency (in ticks/second). - - - - - Specifies fence options. - Microsoft Docs: - - - - No options are specified. - - - The fence is shared. - - - The fence is shared with another GPU adapter. - - - The fence is of the non-monitored type. Non-monitored fences should only be used when the adapter doesn't support monitored fences, or when a fence is shared with an adapter that doesn't support monitored fences. - - - - Describes the coordinates of a tiled resource. - Microsoft Docs: - - - - The x-coordinate of the tiled resource. - - - The y-coordinate of the tiled resource. - - - The z-coordinate of the tiled resource. - - - The index of the subresource for the tiled resource. - -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. Additionally, the X coordinate is used to indicate a tile within the packed mip region, rather than a logical region of a single subresource. The Y and Z coordinates must be zero. - - - - Specifies the usage of the associated video extension command parameter. - Microsoft Docs: - - - - None. Set for simple data type parameters. - - - The resource parameter is read. This flag is for ID3D12Resource only and is not valid for simple data type parameters. - - - The resource parameter is written. This flag is for ID3D12Resource only and is not valid for simple data type parameters. - - - - Describes descriptors inline in the root signature version 1.0 that appear in shaders. - Microsoft Docs: - - - - The shader register. - - - The register space. - - - - Manages a pipeline library, in particular loading and retrieving individual PSOs. - Microsoft Docs: - - - - - Sets a CPU descriptor handle for the constant buffer in the compute root signature. - Microsoft Docs: - The slot number for binding. - Specifies the D3D12_GPU_VIRTUAL_ADDRESS of the constant buffer. - - - - - Describes dispatch parameters, for use by the compute shader. - Microsoft Docs: - - - - The size, in thread groups, of the x-dimension of the thread-group grid. - - - The size, in thread groups, of the y-dimension of the thread-group grid. - - - The size, in thread groups, of the z-dimension of the thread-group grid. - - - - Identifies 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. - - - - Specifies a range so that, for example, if part of a descriptor table has 100 shader-resource views (SRVs) that range can be declared in one entry rather than 100. - Microsoft Docs: - - - - Specifies a range of SRVs. - - - Specifies a range of unordered-access views (UAVs). - - - Specifies a range of constant-buffer views (CBVs). - - - Specifies a range of samplers. - - - - Specifies output stream arguments for the output passed to ID3D12VideoCommandList::ProcessFrames. - Microsoft Docs: - - - - An array of D3D12_VIDEO_PROCESS_OUTPUT_STREAM structures representing the output surfaces for the video process command. If stereo output is enabled, index zero contains the left output while index 1 contains the right input. If stereo output is not enabled, only index 0 is used to specify the output while index 1 should be set to nullptr. - - - The target rectangle is the area within the destination surface where the output will be drawn. The target rectangle is given in pixel coordinates, relative to the destination surface. - - - - Gets a patch-constant parameter description for a shader. - Microsoft Docs: - A zero-based parameter index. - A pointer to a shader-input-signature description. See D3D12_SIGNATURE_PARAMETER_DESC. - - - - - 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. - - - - This method sets residency priorities of a specified list of objects. - Microsoft Docs: - Specifies the number of objects in the ppObjects and pPriorities arrays. - Specifies an array, of length NumObjects, containing references to ID3D12Pageable objects. - Specifies an array, of length NumObjects, of D3D12_RESIDENCY_PRIORITY values for the list of objects. - - - - - Creates a command allocator object. - Microsoft Docs: - A D3D12_COMMAND_LIST_TYPE-typed value that specifies the type of command allocator to create. - The type of command allocator can be the type that records either direct command lists or bundles. - The globally unique identifier (GUID) for the command allocator interface (ID3D12CommandAllocator). - The REFIID, or GUID, of the interface to the command allocator can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12CommandAllocator) will get the GUID of the interface to a command allocator. - A pointer to a memory block that receives a pointer to the ID3D12CommandAllocator interface for the command allocator. - - - - - Gets a locally unique identifier for the current device (adapter). - Microsoft Docs: - - - - - Creates a fence object. - Microsoft Docs: - The initial value for the fence. - A combination of D3D12_FENCE_FLAGS-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 (ID3D12Fence). - The REFIID, or GUID, of the interface to the fence can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12Fence) will get the GUID of the interface to a fence. - A pointer to a memory block that receives a pointer to the ID3D12Fence interface that is used to access the fence. - - - - - Describes flags for a protected resource session, per adapter. - Microsoft Docs: - - - - The node mask. For single GPU operation, set this to zero. If there are multiple GPU nodes, then set a bit to identify the node (the device's physical adapter) to which the protected session applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - Specifies the supported crypto sessions options. - - - - Gets a constant buffer by name. - Microsoft Docs: - The constant-buffer name. - - - - - Gets the size of the handle increment for the given type of descriptor heap. This value is typically used to increment a handle into a descriptor array by the correct amount. - Microsoft Docs: - The D3D12_DESCRIPTOR_HEAP_TYPE-typed value that specifies the type of descriptor heap to get the size of the handle increment for. - - - - - 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. - - - - - Specifies the type of access that an application is given to the specified resource(s) at the transition out of a render pass. - Microsoft Docs: - - - - Indicates that your application won't have any future dependency on any data that you wrote to the resource(s) during this render pass. For example, a depth buffer that won't be textured from before it's written to again. - - - Indicates that your application will have a dependency on the written contents of the resource(s) in the future, and so they must be preserved. - - - Indicates that the resource(s)—for example, a multi-sample anti-aliasing (MSAA) surface—should be directly resolved to a separate resource at the conclusion of the render pass. For a tile-based deferred renderer (TBDR), this should ideally happenwhile the MSAA contents are still in the tile cache. You should ensure that the resolve destination is in the D3D12_RESOURCE_STATE_RESOLVE_DEST resource state when the render pass ends. The resolve source is left in its initial resource state at the time the render pass ends. A resolve operation submitted by a render pass doesn't implicitly change the state of any resource. - - - Indicates that your application will neither read from nor write to the resource(s) during the render pass. You would most likely use this value to indicate that you won't be accessing the depth/stencil plane for a depth/stencil view (DSV). You must pair this value with D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS in the corresponding D3D12_RENDER_PASS_BEGINNING_ACCESS structure. - - - - Creates a resource that is reserved, and not yet mapped to any pages in a heap. - Microsoft Docs: - A pointer to a D3D12_RESOURCE_DESC structure that describes the resource. - The initial state of the resource, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. - Specifies a D3D12_CLEAR_VALUE structure that describes the default value for a clear color. - -pOptimizedClearValue specifies a value for which clear operations are most optimal. When the created resource is a texture with either the D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET or D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL flags, you should choose the value with which the clear operation will most commonly be called. You can call the clear operation with other values, but those operations won't be as efficient as when the value matches the one passed in to resource creation. - -When you use D3D12_RESOURCE_DIMENSION_BUFFER, you must set pOptimizedClearValue to nullptr. - A reference to the globally unique identifier (GUID) of the resource interface to return in ppvResource. See Remarks. - -While riidResource is most commonly the GUID of ID3D12Resource, it may be the GUID of any interface. If the resource object doesn't support the interface for this GUID, then creation fails with E_NOINTERFACE. - An optional pointer to a memory block that receives the requested interface pointer to the created resource object. - -ppvResource can be nullptr, to enable capability testing. When ppvResource is nullptr, no object is created, and S_FALSE is returned when pDesc is valid. - - - - - Describes a command queue. - Microsoft Docs: - - - - Specifies one member of D3D12_COMMAND_LIST_TYPE. - - - The priority for the command queue, as a - D3D12_COMMAND_QUEUE_PRIORITYenumeration constant to select normal or high priority. - - - Specifies any flags from the D3D12_COMMAND_QUEUE_FLAGS enumeration. - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. - Each bit in the mask corresponds to a single node. - Only 1 bit must be set. - Refer to Multi-adapter systems. - - - - Submits an array of command lists for execution. - Microsoft Docs: - The number of command lists to be executed. - The array of ID3D12CommandList command lists to be executed. - - - - - Represents a virtual adapter. This interface extends ID3D12Device7. - Microsoft Docs: - - - - - Draws 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. - - - - - Represents a virtual adapter. This interface extends ID3D12Device1 to create pipeline state objects from pipeline state stream descriptions. - Microsoft Docs: - - - - - Gets the heap description. - Microsoft Docs: - - - - - Describes the subresources from an array of 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. - - - - Sets a descriptor table into the compute root signature. - Microsoft Docs: - The slot number for binding. - A GPU_descriptor_handle object for the base descriptor to set. - - - - - Defines the encryption byte mapping of sub samples for video decoding. - Microsoft Docs: - - - - This field is unused. - - - This field is unused. - - - - Specifies the data type of the memory pointed to by the pData parameter of ID3D12DebugDevice1::SetDebugParameter and ID3D12DebugDevice1::GetDebugParameter. - Microsoft Docs: - - - - Indicates pData points to a D3D12_DEBUG_FEATURE value. - - - Indicates pData points to a D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS structure. - - - Indicates pData points to a D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR structure. - - - - Modifies optional Debug Layer settings of a command list. - Microsoft Docs: - Specifies a D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE value that indicates which debug parameter data to set. - Pointer to debug parameter data to set. The interpretation of this data depends on the D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE given in the Type parameter. - Specifies the size in bytes of the debug parameter pData. - - - - - Uses the CPU to copy data from a subresource, enabling the CPU to read the contents of most textures with undefined layouts. - Microsoft Docs: - A pointer to the destination data in memory. - The distance from one row of destination data to the next row. - The distance from one depth slice of destination data to the next. - Specifies the index of the subresource to read from. - 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 - D3D12_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. - - - - - Specifies the type of copy operation performed when calling CopyRaytracingAccelerationStructure. - Microsoft Docs: - - - - Copy an acceleration structure while fixing any self-referential pointers that may be present so that the destination is a self-contained copy of the source. Any external pointers to other acceleration structures remain unchanged from source to destination in the copy. The size of the destination is identical to the size of the source. - -> [!IMPORTANT] -> The source memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). -> The destination memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). - - - Produces a functionally equivalent acceleration structure to source in the destination, similar to the clone mode, but also fits the destination into a potentially smaller, and certainly not larger, memory footprint. The size required for the destination can be retrieved beforehand from EmitRaytracingAccelerationStructurePostbuildInfo. - -This mode is only valid if the source acceleration structure was originally built with the D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION flag, otherwise results are undefined. - -Compacting geometry requires the entire acceleration structure to be constructed, which is why you must first build and then compact the structure. - -> [!IMPORTANT] -> The source memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). -> The destination memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). - - - The destination is takes the layout described in D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER. The size required for the destination can be retrieved beforehand from EmitRaytracingAccelerationStructurePostbuildInfo. - -This mode is only intended for tools such as PIX, though nothing stops any app from using it. The output is essentially the inverse of an acceleration structure build. This overall structure with is sufficient for tools/PIX to be able to give the application some visual sense of the acceleration structure the driver made out of the app’s input. Visualization can help reveal driver bugs in acceleration structures if what is shown grossly mismatches the data the application used to create the acceleration structure, beyond allowed tolerances. - -For top-level acceleration structures, the output includes a set of instance descriptions that are identical to the data used in the original build and in the same order. For bottom-level acceleration structures, the output includes a set of geometry descriptions roughly matching the data used in the original build. The output is only a rough match for the original in part because of the tolerances allowed in the specification for acceleration structures and in part due to the inherent complexity of reporting exactly the same structure as is conceptually encoded. For example. axis-aligned bounding boxes (AABBs) returned for procedural primitives could be more conservative (larger) in volume and even different in number than what is actually in the acceleration structure representation. Geometries, each with its own geometry description, appear in the same order as in the original acceleration, as shader table indexing calculations depend on this. - - -> [!IMPORTANT] -> The source memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). -> The destination memory must be in state [D3D12_RESOURCE_STATE_UNORDERED_ACCESS](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). - -This mode is only permitted when developer mode is enabled in the OS. - - - Destination takes the layout and size described in the documentation for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC, itself a structure generated with a call to EmitRaytracingAccelerationStructurePostbuildInfo. - -This mode serializes an acceleration structure so that an app or tools can store it to a file for later reuse, typically on a different device instance, via deserialization. - -When serializing a top-level acceleration structure, the bottom-level acceleration structures it refers to do not have to still be present or intact in memory. Likewise, bottom-level acceleration structures can be serialized independent of whether any top-level acceleration structures are pointing to them. In other words, the order of serialization of acceleration structures doesn’t matter. - -> [!IMPORTANT] -> The source memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). -> The destination memory must be in state [D3D12_RESOURCE_STATE_UNORDERED_ACCESS](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). - - - The source must be a serialized acceleration structure, with any pointers, directly after the header, fixed to point to their new locations. For more information, see D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC. - -The destination gets an acceleration structure that is functionally equivalent to the acceleration structure that was originally serialized. It does not matter what order top-level and bottom-level acceleration structures are deserialized, as long as by the time a top-level acceleration structure is used for raytracing or acceleration structure updates the bottom-level acceleration structures it references are present. - -Deserialization can only be performed on the same device and driver version on which the data was serialized. Otherwise, the results are undefined. - -This mode is only intended for tools such as PIX, though nothing stops any app from using it, but this mode is only permitted when developer mode is enabled in the OS. This copy operation is not intended to be used for caching acceleration structures, because running a full acceleration structure build is likely to be faster than loading one from disk. - - -> [!IMPORTANT] -> The source memory must be in state [D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). -> The destination memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). - - - - Specifies the type of shader patching used by GPU-Based Validation at either the device or command list level. - Microsoft Docs: - - - - No shader patching is to be done. This will retain the original shader bytecode. Can lead to errors in some of the GPU-Based Validation state tracking as the unpatched shader may still change resource state (see Common state promotion) but the promotion will be untracked without patching the shader. This can improve performance but no validation will be performed and may also lead to misleading GPU-Based Validation errors. Use this mode very carefully. - - - Shaders can be patched with resource state tracking code but no validation. This may improve performance but no validation will be performed. - - - The default. Shaders are patched with validation code but erroneous instructions will still be executed. - - - Shaders are patched with validation code and erroneous instructions are skipped in execution. This can help avoid crashes or device removal. - - - Unused, simply the count of the number of modes. - - - - Describes a DXGI data format and plane count. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value for the format to return info about. - - - The number of planes to provide information about. - - - - 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 a value used to optimize clear operations for a particular resource. - Microsoft Docs: - - - - Specifies one member of the DXGI_FORMAT enum. - -The format of the commonly cleared color follows the same validation rules as a view/ descriptor creation. In general, the format of the clear color can be any format in the same typeless group that the resource format belongs to. - -This Format must match the format of the view used during the clear operation. It indicates whether the Color or the DepthStencil member is valid and how to convert the values for usage with the resource. - - - Specifies a 4-entry array of float values, determining the RGBA value. The order of RGBA matches the order used with ClearRenderTargetView. - - - Specifies one member of D3D12_DEPTH_STENCIL_VALUE. These values match the semantics of Depth and Stencil in ClearDepthStencilView. - - - - Provides data for calls to ID3D12VideoDevice::CheckFeatureSupport when the feature specified is D3D12_FEATURE_VIDEO_PROCESS_SUPPORT. - Microsoft Docs: - - - - An integer indicating which physical adapter of the device the operation applies to, in a multi-adapter operation. - - - A D3D12\_VIDEO\_SAMPLE structure defining the width, height, and format of the input sample. - - - A member of the D3D12\_VIDEO\_FIELD\_TYPE enumeration specifying the interlaced field type of the input sample. - - - A member of the D3D12\_VIDEO\_FRAME\_STEREO\_FORMAT enumeration specifying the stereo format of the input sample. - - - The input frame rate. - - - A D3D12\_VIDEO\_FORMAT structure specifying the output DXGI format and color space. - - - A member of the D3D12\_VIDEO\_FRAME\_STEREO\_FORMAT enumeration specifying the stereo format of the output. - - - The output frame rate. - - - A member of the D3D12\_VIDEO\_PROCESS\_SUPPORT\_FLAGS indicating whether the requested format and colorspace conversion is supported. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - A D3D12\_VIDEO\_SCALE\_SUPPORT structure specifying the supported scaling capabilities. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - A bitwise OR combination of values from the D3D12\_VIDEO\_PROCESS\_FEATURE\_FLAGS enumeration specifying the supported video processing features. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - A member of the D3D12\_VIDEO\_PROCESS\_DEINTERLACE\_FLAGS enumeration specifying the supported deinterlacing capabilities. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - A member of the D3D12\_VIDEO\_PROCESS\_AUTO\_PROCESSING\_FLAGS specifying the supported automatic processing capabilities. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - A bitwise OR combination of values from the D3D12\_VIDEO\_PROCESS\_FILTER\_FLAGS enumeration specifying the supported video filtering features. This value is populated by the call to ID3D12Device::CheckFeatureSupport. - - - An array of D3D12\_VIDEO\_PROCESS\_FILTER\_RANGE structures representing the filter range values. This value is populated by the call to ID3D12Device::CheckFeatureSupport. The calling application must allocate the memory for the filter range list before calling CheckFeatureSupport. - - - - Indicates that recording to the command list has finished. - Microsoft Docs: - - - - - Indicates the level of support for the sharing of resources between different adapters—for example, multiple GPUs. - Microsoft Docs: - - - - Indicates the tier of cross-adapter sharing support. - - - Indicates there is support for shader instructions which operate across adapters. - - - - Describes a video extension command parameter. - Microsoft Docs: - - - - A pointer to a wide string containing the name of the command. - - - A member of the D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_TYPE specifying the type of the parameter. - - - A member of the D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_FLAGS enumeration specifying the usage of the parameter. - - - - Describes the subresources from an array of multi sampled 2D textures to use in a render-target view. - Microsoft Docs: - - - - The index of the first texture to use in an array of textures. - - - The number of textures to use. - - - - Describes the allocation size of a video decoder heap. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A pointer to a D3D12\_VIDEO\_PROCESS\_OUTPUT\_STREAM\_DESC(ns-d3d12video-d3d12_video_process_output_stream_desc) structure describing the output stream. - - - The number of input streams provided in the pInputStreamDescs parameter. - - - A pointer to a list of D3D12\_VIDEO\_PROCESS\_INPUT\_STREAM\_DESC(ns-d3d12video-d3d12_video_process_input_stream_desc) structures the input streams. - - - The allocation size of the video processor in the L0 memory pool. L0 is the physical system memory pool. When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU. When the adapter is UMA, this pool is the only one which is valid. For more information, see Residency. - - - The allocation size of the video processor in the L1 memory pool. L1 is typically known as the physical video memory pool. L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU. When the adapter is UMA, this pool is not available. For more information, see Residency. - - - - Initializes the specified meta command. - Microsoft Docs: - A pointer to an ID3D12MetaCommand representing the meta command to initialize. - An optional pointer to a constant structure containing the values of the parameters for initializing the meta command. - A SIZE_T containing the size of the structure pointed to by pInitializationParametersData, if set, otherwise 0. - - - - - Congruent with, and numerically equivalent to, 3D12DDI_HANDLETYPE enumeration values. - Microsoft Docs: - - - - - Indicates the debug parameter type used by ID3D12DebugCommandList1::SetDebugParameter and ID3D12DebugCommandList1::GetDebugParameter. - Microsoft Docs: - - - - Indicates the parameter is type D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS. - - - - A function-parameter-reflection interface accesses function-parameter info. - Microsoft Docs: - - - - - Get the number of messages that were denied passage through a storage filter. - Microsoft Docs: - - - - - Retrieves the supported number of parameters for the specified parameter stage. - Microsoft Docs: - - - - The unique identifier for the video extension command for which the parameter count is queried. - - - A member of the D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE enumeration specifying the parameter stage for which the parameter count is retrieved. - - - Receives the number of parameters in the parameter stage. - - - Receives the parameter packing for the parameter stage. - - - - Represents a virtual adapter, and expands on the range of methods provided by ID3D12Device. - Microsoft Docs: - - - - - This shader-reflection interface provides access to a variable. - Microsoft Docs: - - - - - Clear all messages from the message queue. - Microsoft Docs: - - - - - Specifies options for root signature layout. - Microsoft Docs: - - - - Indicates default behavior. - - - The app is opting in to using the Input Assembler (requiring an input layout that defines a set of vertex buffer bindings). Omitting this flag can result in one root argument space being saved on some hardware. Omit this flag if the Input Assembler is not required, though the optimization is minor. - - - Denies the vertex shader access to the root signature. - - - Denies the hull shader access to the root signature. - - - Denies the domain shader access to the root signature. - - - Denies the geometry shader access to the root signature. - - - Denies the pixel shader access to the root signature. - - - The app is opting in to using Stream Output. Omitting this flag can result in one root argument space being saved on some hardware. Omit this flag if Stream Output is not required, though the optimization is minor. - - - The root signature is to be used with raytracing shaders to define resource bindings sourced from shader records in shader tables. This flag cannot be combined with any other root signature flags, which are all related to the graphics pipeline. The absence of the flag means the root signature can be used with graphics or compute, where the compute version is also shared with raytracing’s global root signature. - - - - Query information about graphics-pipeline activity in between calls to BeginQuery and EndQuery. - 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. - - - Specifies the number of vertex shader invocations. Direct3D invokes the vertex shader once per vertex. - - - Specifies the number of geometry shader invocations. When the geometry shader is set to NULL, this statistic may or may not increment depending on the graphics adapter. - - - Specifies the number of geometry shader output primitives. - - - 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. - - - Specifies the number of pixel shader invocations. - - - Specifies the number of hull shader invocations. - - - Specifies the number of domain shader invocations. - - - Specifies the number of compute shader invocations. - - - - Describes a descriptor range, with flags to determine their volatility. - Microsoft Docs: - - - - A D3D12_DESCRIPTOR_RANGE_TYPE-typed value that specifies the type of descriptor range. - - - The number of descriptors in the range. Use -1 or UINT_MAX to specify unbounded size. Only the last entry in a table can have unbounded size. - - - The base shader register in the range. For example, for shader-resource views (SRVs), 3 maps to ": register(t3);" in HLSL. - - - The register space. Can typically be 0, but allows multiple descriptor arrays of unknown size to not appear to overlap. - For example, for SRVs, by extending the example in the BaseShaderRegister member description, 5 maps to ": register(t3,space5);" in HLSL. - - - Specifies the D3D12_DESCRIPTOR_RANGE_FLAGS that determine descriptor and data volatility. - - - The offset in descriptors from the start of the root signature. This value can be D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND, which indicates this range should immediately follow the preceding range. - - - - Defines a local root signature state subobject that will be used with associated shaders. - Microsoft Docs: - - - - The root signature that will function as a local root signature. A state object holds a reference to this signature. - - - - Encapsulates a list of graphics commands for video decoding. - Microsoft Docs: - - - - - Stores a pipeline state. - Microsoft Docs: - - - - Specifies pointer that references the memory location of the cache. - - - Specifies the size of the cache in bytes. - - - - 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. - - - - - Checks the allocation size of a video extension command. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - The unique identifier for the video extension command for which size is queried. - - - A pointer to the creation parameters structure, which is defined by the command. The parameters structure must match the parameters enumerated by a call to [ID3D12VideoDevice::CheckFeatureSupport](nf-d3d12video-id3d12videodevice-checkfeaturesupport.md) with the feature value of D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETERS and a parameter stage value of D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CREATION. - - - The size of the pCreationParameters parameter structure, in bytes. - - - The allocation size of the video extension command in the L0 memory pool. L0 is the physical system memory pool. When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU. When the adapter is UMA, this pool is the only one which is valid. For more information, see Residency. - - - The allocation size of the video extension command heap in the L1 memory pool. L1 is typically known as the physical video memory pool. L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU. When the adapter is UMA, this pool is not available. For more information, see Residency. - - - - Gets a group of flags that indicates the requirements of a shader. - Microsoft Docs: - - - - - Encapsulates a list of graphics commands for rendering, extending the interface to support programmable sample positions, atomic copies for implementing late-latch techniques, and optional depth-bounds testing. - Microsoft Docs: - - - - - Makes objects resident for the device. - Microsoft Docs: - The number of objects in the ppObjects array to make resident for the device. - A pointer to a memory block that contains an array of ID3D12Pageable interface pointers for the objects. - - -Even though most D3D12 objects inherit from ID3D12Pageable, residency changes are only supported on the following objects: -Descriptor Heaps, Heaps, Committed Resources, and Query Heaps - - - - - Gets the number of bitwise instructions. - Microsoft Docs: - - - - - Specifies broad residency priority buckets useful for quickly establishing an application priority scheme. - Microsoft Docs: - - - - Indicates a minimum priority. - - - Indicates a low priority. - - - Indicates a normal, medium, priority. - - - Indicates a high priority. Applications are discouraged from using priories greater than this. For more information see ID3D12Device1::SetResidencyPriority. - - - Indicates a maximum priority. Applications are discouraged from using priorities greater than this; D3D12_RESIDENCY_PRIORITY_MAXIMUM is not guaranteed to be available. For more information see ID3D12Device1::SetResidencyPriority - - - - Defines constants that specify a Direct3D 12 feature or feature set to query about. - Microsoft Docs: - - - - Indicates a query for the level of support for basic Direct3D 12 feature options. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS. - - - Indicates a query for the adapter's architectural details, so that your application can better optimize for certain adapter properties. The corresponding data structure for this value is D3D12_FEATURE_DATA_ARCHITECTURE. - -
Note  This value has been superseded by the D3D_FEATURE_DATA_ARCHITECTURE1 value. If your application targets Windows 10, version 1703 (Creators' Update) or higher, then use the D3D_FEATURE_DATA_ARCHITECTURE1 value instead.
-
 
-
- - Indicates a query for info about the feature levels supported. The corresponding data structure for this value is D3D12_FEATURE_DATA_FEATURE_LEVELS. - - - Indicates a query for the resources supported by the current graphics driver for a given format. The corresponding data structure for this value is D3D12_FEATURE_DATA_FORMAT_SUPPORT. - - - Indicates a query for the image quality levels for a given format and sample count. The corresponding data structure for this value is D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS. - - - Indicates a query for the DXGI data format. The corresponding data structure for this value is D3D12_FEATURE_DATA_FORMAT_INFO. - - - Indicates a query for the GPU's virtual address space limitations. The corresponding data structure for this value is D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT. - - - Indicates a query for the supported shader model. The corresponding data structure for this value is D3D12_FEATURE_DATA_SHADER_MODEL. - - - Indicates a query for the level of support for HLSL 6.0 wave operations. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS1. - - - Indicates a query for the level of support for protected resource sessions. The corresponding data structure for this value is D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT. - - - Indicates a query for root signature version support. The corresponding data structure for this value is D3D12_FEATURE_DATA_ROOT_SIGNATURE. - - - Indicates a query for each adapter's architectural details, so that your application can better optimize for certain adapter properties. The corresponding data structure for this value is D3D12_FEATURE_DATA_ARCHITECTURE1. - -
Note  This value supersedes the D3D_FEATURE_DATA_ARCHITECTURE value. If your application targets Windows 10, version 1703 (Creators' Update) or higher, then use D3D_FEATURE_DATA_ARCHITECTURE1.
-
 
-
- - Indicates a query for the level of support for depth-bounds tests and programmable sample positions. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS2. - - - Indicates a query for the level of support for shader caching. The corresponding data structure for this value is D3D12_FEATURE_DATA_SHADER_CACHE. - - - Indicates a query for the adapter's support for prioritization of different command queue types. The corresponding data structure for this value is D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY. - - - Indicates a query for the level of support for timestamp queries, format-casting, immediate write, view instancing, and barycentrics. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS3. - - - Indicates a query for whether or not the adapter supports creating heaps from existing system memory. The corresponding data structure for this value is D3D12_FEATURE_DATA_EXISTING_HEAPS. - - - Indicates a query for the level of support for 64KB-aligned MSAA textures, cross-API sharing, and native 16-bit shader operations. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS4. - - - Indicates a query for the level of support for heap serialization. The corresponding data structure for this value is D3D12_FEATURE_DATA_SERIALIZATION. - - - Indicates a query for the level of support for the sharing of resources between different adapters—for example, multiple GPUs. The corresponding data structure for this value is D3D12_FEATURE_DATA_CROSS_NODE. - - - Starting with Windows 10, version 1809 (10.0; Build 17763), indicates a query for the level of support for render passes, ray tracing, and shader-resource view tier 3 tiled resources. The corresponding data structure for this value is D3D12_FEATURE_DATA_D3D12_OPTIONS5. - - - Starting with Windows 10, version 1903 (10.0; Build 18362), indicates a query for the level of support for variable-rate shading (VRS), and indicates whether or not background processing is supported. For more info, see Variable-rate shading (VRS), and the Direct3D 12 background processing spec. - - - Indicates a query for the level of support for metacommands. The corresponding data structure for this value is D3D12_FEATURE_DATA_QUERY_META_COMMAND. - - - - Specifies options for a heap. - Microsoft Docs: - - - - Indicates default usage of a heap. - - - The flag D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE can optionally be set on a descriptor heap to indicate it is be bound on a command list for reference by shaders. Descriptor heaps created without this flag allow applications the option to stage descriptors in CPU memory before copying them to a shader visible descriptor heap, as a convenience. But it is also fine for applications to directly create descriptors into shader visible descriptor heaps with no requirement to stage anything on the CPU. - -Descriptor heaps bound via [ID3D12GraphicsCommandList::SetDescriptorHeaps](/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-setdescriptorheaps) must have the D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE flag set, else the debug layer will produce an error. - -Descriptor heaps with the D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE flag can't be used as the source heaps in calls to [ID3D12Device::CopyDescriptors](/windows/win32/api/d3d12/nf-d3d12-id3d12device-copydescriptors) or [ID3D12Device::CopyDescriptorsSimple](/windows/win32/api/d3d12/nf-d3d12-id3d12device-copydescriptorssimple), because they could be resident in WRITE_COMBINE memory or GPU-local memory, which is very inefficient to read from. - -This flag only applies to CBV/SRV/UAV descriptor heaps, and sampler descriptor heaps. It does not apply to other descriptor heap types since shaders do not directly reference the other types. Attempting to create an RTV/DSV heap with D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE results in a debug layer error. - - - - Describes rasterizer state. - Microsoft Docs: - - - - A D3D12_FILL_MODE-typed value that specifies the fill mode to use when rendering. - - - A D3D12_CULL_MODE-typed value that specifies that triangles facing the specified direction are not drawn. - - - Determines if a triangle is front- or back-facing. If this member 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. - - - 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 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 (D3D12_DESCRIPTOR_HEAP_TYPE_RTV) 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, ID3D12ShaderReflection::IsSampleFrequencyShader returns FALSE.
  • -
Otherwise, rendering behavior is undefined.
-
-
- - A D3D12_CONSERVATIVE_RASTERIZATION_MODE-typed value that identifies whether conservative rasterization is on or off. - - - - Describes the subresources from an array of multi sampled 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. - - - - Represents a variable amount of configuration state, including shaders, that an application manages as a single unit and which is given to a driver atomically to process, such as compile or optimize. - Microsoft Docs: - - - - - Get the maximum number of messages that can be added to the message queue. - Microsoft Docs: - - - - - 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. - - - - Part of a contract between D3D11On12 diagnostic layers and graphics diagnostics tools. - Microsoft Docs: - - - - - Describes 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 ID3D12Device::CreateShaderResourceView creates a view) -1. - - - The maximum number of mipmap levels for the view of the texture. See the remarks in D3D12_TEX1D_SRV. - -Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. - - - A value to clamp sample LOD values to. For example, if you specify 2.0f for the clamp value, you ensure that no individual sample accesses a mip level less than 2.0f. - - - - Specifies a bitstream encryption type. - Microsoft Docs: - - - - The bistream is not encrypted. - - - - 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. - Turns this breaking condition on or off (true for on, false for off). - - - - - Offers base functionality that allows for a consistent way to monitor the validity of a session across the different types of sessions. - Microsoft Docs: - - - - - Specifies flags to be used when creating a command queue. - Microsoft Docs: - - - - Indicates a default command queue. - - - Indicates that the GPU timeout should be disabled for this command queue. - - - - Encapsulates a list of graphics commands for rendering. Includes APIs for instrumenting the command list execution, and for setting and clearing the pipeline state. - Microsoft Docs: - - - - - Indicates the tier level at which view instancing is supported. - Microsoft Docs: - - - - View instancing is not supported. - - - View instancing is supported by draw-call level looping only. - - - View instancing is supported by draw-call level looping at worst, but the GPU can perform view instancing more efficiently in certain circumstances which are architecture-dependent. - - - View instancing is supported and instancing begins with the first shader stage that references SV_ViewID or with rasterization if no shader stage references SV_ViewID. This means that redundant work is eliminated across view instances when it's not dependent on SV_ViewID. Before rasterization, work that doesn't directly depend on SV_ViewID is shared across all views; only work that depends on SV_ViewID is repeated for each view. - -
Note  If a hull shader produces tessellation factors that are dependent on SV_ViewID, then tessellation and all subsequent work must be repeated per-view. Similarly, if the amount of geometry produced by the geometry shader depends on SV_ViewID, then the geometry shader must be repeated per-view before proceeding to rasterization.
-
 
-View instance masking only effects whether work that directly depends on SV_ViewID is performed, not the entire loop iteration (per-view). If the view instance mask is non-0, some work that depends on SV_ViewID might still be performed on masked-off pixels but will have no externally-visible effect; for example, no UAV writes are performed and clipping/rasterzation is not invoked. If the view instance mask is 0 no work is performed, including work that's not dependent on SV_ViewID.
-
- - - Sets a CPU descriptor handle for the unordered-access-view resource in the graphics root signature. - Microsoft Docs: - The slot number for binding. - The GPU virtual address of the buffer. - D3D12_GPU_VIRTUAL_ADDRESS is a typedef'd alias of UINT64. - - - - - Describes the size and layout of the serialized acceleration structure and header. - Microsoft Docs: - - - - The size of the serialized acceleration structure, including a header. The header is D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER followed by followed by a list of pointers to bottom-level acceleration structures. - - - The number of 64-bit GPU virtual addresses that will be at the start of the serialized acceleration structure, after the D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER. For a bottom-level acceleration structure this will be 0. For a top-level acceleration structure, the pointers indicate the acceleration structures being referred to. - -When deserialization occurs, these pointers to bottom-level pointers must be initialized by the app in the serialized data (just after the header) to the new locations where the bottom level acceleration structures will reside. It is not required that these new locations to have already been populated with bottom-level acceleration structures at deserialization time, as long as they are initialized with the expected deserialized data structures before being used in raytracing. During deserialization, the driver reads the new pointers, using them to produce an equivalent top-level acceleration structure to the original. - - - - Gets 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 D3D12_SHADER_INPUT_BIND_DESC. - - - - - Queues a GPU-side wait, and returns immediately. A GPU-side wait is where the GPU waits until the specified fence reaches or exceeds the specified value. - Microsoft Docs: - A pointer to the ID3D12Fence object. - The value that the command queue is waiting for the fence to reach or exceed. So when ID3D12Fence::GetCompletedValue is greater than or equal to Value, the wait is terminated. - - - - - Specifies the parameters for the input stream for a video decode operation. - Microsoft Docs: - - - - The count of frame parameters provided in the FrameArguments field. The maximum number of frame arguments is 10. - - - An array of D3D12_VIDEO_DECODE_FRAME_ARGUMENT structures containing the parameters to decode a frame. - - - A D3D12_VIDEO_DECODE_REFERENCE_FRAMES structure containing the reference frames needed to decode a frame. - - - A D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM structure representing the compressed bitstream in a single continuous buffer. - - - An ID3D12VideoDecoderHeap representing a pointer to the heap for the current decode resolution. - - - - Gets the number of Movc instructions. - Microsoft Docs: - - - - - Specifies the nature of the render pass; for example, whether it is a suspending or a resuming render pass. - Microsoft Docs: - - - - Indicates that the render pass has no special requirements. - - - Indicates that writes to unordered access view(s) should be allowed during the render pass. - - - Indicates that this is a suspending render pass. - - - Indicates that this is a resuming render pass. - - - - Gets the resource description. - Microsoft Docs: - - - - - Defines supported search block sizes for video motion estimation. - Microsoft Docs: - - - - The search block size is 8x8 pixels. - - - The search block size is 16x16 pixels. - - - - Gets the description of a shader-reflection-variable type. - Microsoft Docs: - A pointer to a shader-type description (see D3D12_SHADER_TYPE_DESC). - - - - - Identifies the tier level of conservative rasterization. - Microsoft Docs: - - - - Conservative rasterization is not supported. - - - Tier 1 enforces a maximum 1/2 pixel uncertainty region and does not support post-snap degenerates. This is good for tiled rendering, a texture atlas, light map generation and sub-pixel shadow maps. - - - Tier 2 reduces the maximum uncertainty region to 1/256 and requires post-snap degenerates not be culled. This tier is helpful for CPU-based algorithm acceleration (such as voxelization). - - - Tier 3 maintains a maximum 1/256 uncertainty region and adds support for inner input coverage. Inner input coverage adds the new value SV_InnerCoverage to High Level Shading Language (HLSL). This is a 32-bit scalar integer that can be specified on input to a pixel shader, and represents the underestimated conservative rasterization information (that is, whether a pixel is guaranteed-to-be-fully covered). This tier is helpful for occlusion culling. - - - - Encapsulates a list of graphics commands for video processing. - Microsoft Docs: - - - - - Gets a CPU pointer to the specified subresource in the resource, but may not disclose the pointer value to applications. Map also invalidates the CPU cache, when necessary, so that CPU reads to this address reflect any modifications made by the GPU. - Microsoft Docs: - Specifies the index number of the subresource. - A pointer to a D3D12_RANGE structure that describes the range of memory to access. - -This indicates the region the CPU might read, and the coordinates are subresource-relative. A null pointer indicates the entire subresource might be read by the CPU. It is valid to specify the CPU won't read any data by passing a range where End is less than or equal to Begin. - A pointer to a memory block that receives a pointer to the resource data. - -A null pointer is valid and is useful to cache a CPU virtual address range for methods like WriteToSubresource. When ppData is not NULL, the pointer returned is never offset by any values in pReadRange. - - - - - Describes the space requirement for acceleration structure after compaction. - Microsoft Docs: - - - - The space requirement for acceleration structure after compaction. - -It is guaranteed that a compacted acceleration structure doesn’t consume more space than a non-compacted acceleration structure. - -Pre-compaction, it is guaranteed that the size requirements reported by GetRaytracingAccelerationStructurePrebuildInfo for a given build configuration (triangle counts etc.) will be sufficient to store any acceleration structure whose build inputs are reduced (e.g. reducing triangle counts). This non-increasing property for smaller builds does not apply post-compaction, however. In other words, it is not guaranteed that having fewer items in an acceleration structure means it compresses to a smaller size than compressing an acceleration structure with more items. - - - - Contains input information for the video processor blend functionality. - Microsoft Docs: - - - - An ID3D12Resource representing the current input field or frame. - - - The subresource index to use of the pInputTexture argument. - - - A D3D12_VIDEO_PROCESS_REFERENCE_SET containing the set of references for video processing. Some video processing algorithms require forward or backward frame references. For more information, see D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO. - - - - Gets optional Command List Debug Layer settings. - Microsoft Docs: - Specifies a D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE value that determines which debug parameter data to copy to the memory pointed to by pData. - Points to the memory that will be filled with a copy of the debug parameter data. The interpretation of this data depends on the D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE given in the Type parameter. - Size in bytes of the memory buffer pointed to by pData. - - - - - 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. - - - 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 AlphaFillModeSourceStreamIndex member of D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS. - -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. - - - - Queries reflection metadata about the parameters of the specified meta command. - Microsoft Docs: - A reference to the globally unique identifier (GUID) of the meta command whose parameters you wish to be returned in pParameterDescs. - A D3D12_META_COMMAND_PARAMETER_STAGE specifying the stage of the parameters that you wish to be included in the query. - An optional pointer to a UINT containing the size of the structure containing the parameter values, which you pass when creating/initializing/executing the meta command, as appropriate. - A pointer to a UINT containing the number of parameters to query for. This field determines the size of the pParameterDescs array, unless pParameterDescs is nullptr. - An optional pointer to an array of D3D12_META_COMMAND_PARAMETER_DESC containing the descriptions of the parameters. Pass nullptr to have the parameter count returned in pParameterCount. - - - - - Retrieves the maximum number of enabled input streams supported by the video processor. - Microsoft Docs: - - - - An integer indicating which physical adapter of the device the operation applies to, in a multi-adapter operation. - - - The maximum number of streams that can be enabled for the video processor at the same time. - - - - Creates a constant-buffer view for accessing resource data. - Microsoft Docs: - A pointer to a D3D12_CONSTANT_BUFFER_VIEW_DESC structure that describes the constant-buffer view. - Describes the CPU descriptor handle that represents the start of the heap that holds the constant-buffer view. - - - - - A development-time aid for certain types of profiling and experimental prototyping. - Microsoft Docs: - Specifies a BOOL that turns the stable power state on or off. - - - - - Sets a CPU descriptor handle for the shader resource in the graphics root signature. - Microsoft Docs: - The slot number for binding. - The GPU virtual address of the Buffer. - Textures are not supported. D3D12_GPU_VIRTUAL_ADDRESS is a typedef'd alias of UINT64. - - - - - Manages a pipeline library. This interface extends ID3D12PipelineLibrary to load PSOs from a pipeline state stream description. - Microsoft Docs: - - - - - Represents the output stream for video processing commands. - Microsoft Docs: - - - - A pointer to a ID3D12Resource representing the output surfaces for the video process command. - - - The subresource indices to use within the resource specified pTexture2D resource. - - - - Flags for optional D3D12 Debug Layer features. - Microsoft Docs: - - - - The default. No optional Debug Layer features. - - - The Debug Layer is allowed to deliberately change functional behavior of an application in order to help identify potential errors. By default, the Debug Layer allows most invalid API usage to run the natural course. - - - Performs additional resource state validation of resources set in descriptors at the time ID3D12CommandQueue::ExecuteCommandLists is called. By design descriptors can be changed even after submitting command lists assuming proper synchronization. Conservative resource state tracking ignores this allowance and validates all resources used in descriptor tables when ExecuteCommandLists is called. The result may be false validation errors. - - - Disables validation of bundle commands by virtually injecting checks into the calling command list validation paths. - - - Internal use only. - - - - Describes the subresources from a resource that are accessible by using an unordered-access view. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value that specifies the viewing format. - - - A D3D12_UAV_DIMENSION-typed value that specifies the resource type of the view. This type specifies how the resource will be accessed. This member also determines which _UAV to use in the union below. - - - A D3D12_BUFFER_UAV structure that specifies which buffer elements can be accessed. - - - A D3D12_TEX1D_UAV structure that specifies the subresources in a 1D texture that can be accessed. - - - A D3D12_TEX1D_ARRAY_UAV structure that specifies the subresources in a 1D texture array that can be accessed. - - - A D3D12_TEX2D_UAV structure that specifies the subresources in a 2D texture that can be accessed. - - - A D3D12_TEX2D_ARRAY_UAV structure that specifies the subresources in a 2D texture array that can be accessed. - - - A D3D12_TEX3D_UAV structure that specifies subresources in a 3D texture that can be accessed. - - - - Provides methods to monitor and debug a command queue. - 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: - - - - - Gets the size and alignment of memory required for a collection of resources on this adapter. - Microsoft Docs: - For single-GPU operation, set this to zero. If there are multiple GPU nodes, then set bits to identify the nodes (the device's physical adapters). Each bit in the mask corresponds to a single node. Also see [Multi-adapter systems](/windows/win32/direct3d12/multi-engine). - The number of resource descriptors in the pResourceDescs array. - An array of D3D12_RESOURCE_DESC structures that described the resources to get info about. - - - - - Push a copy of storage filter currently on the top of the storage-filter stack onto the storage-filter stack. - Microsoft Docs: - - - - - Describes a raytracing acceleration structure. Pass this structure into ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure to describe the acceleration structure to be built. - Microsoft Docs: - - - - Location to store resulting acceleration structure. ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo reports the amount of memory required for the result here given a set of acceleration structure build parameters. - -The address must be aligned to 256 bytes, defined as D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT. - -> [!IMPORTANT] -> The memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). - - - Description of the input data for the acceleration structure build. This is data is stored in a separate structure because it is also used with GetRaytracingAccelerationStructurePrebuildInfo. - - - Address of an existing acceleration structure if an acceleration structure update (an incremental build) is being requested, by setting D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE in the Flags parameter. Otherwise this address must be NULL. - -If this address is the same as DestAccelerationStructureData, the update is to be performed in-place. Any other form of overlap of the source and destination memory is invalid and produces undefined behavior. - -The address must be aligned to 256 bytes, defined as D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, which should automatically be the case because any existing acceleration structure passed in here would have already been required to be placed with such alignment. - -> [!IMPORTANT] -> The memory must be in state [D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_resource_states). - - - - Draws 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. - - - - - Adds configurable levels of GPU-based validation to the debug layer. - Microsoft Docs: - - - - - Describes a raytracing hit group state subobject that can be included in a state object. - Microsoft Docs: - - - - The name of the hit group. - - - A value from the D3D12_HIT_GROUP_TYPE enumeration specifying the type of the hit group. - - - Optional name of the any-hit shader associated with the hit group. This field can be used with all hit group types. - - - Optional name of the closest-hit shader associated with the hit group. This field can be used with all hit group types. - - - Optional name of the intersection shader associated with the hit group. This field can only be used with hit groups of type procedural primitive. - - - - Describes the subresources of a texture that are accessible from a depth-stencil view. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value that specifies the viewing format. For allowable formats, see Remarks. - - - A D3D12_DSV_DIMENSION-typed value that specifies how the depth-stencil resource will be accessed. This member also determines which _DSV to use in the following union. - - - A combination of D3D12_DSV_FLAGS enumeration constants that are combined by using a bitwise OR operation. - The resulting value specifies whether the texture is read only. - Pass 0 to specify that it isn't read only; otherwise, pass one or more of the members of the D3D12_DSV_FLAGS enumerated type. - - - A D3D12_TEX1D_DSV structure that specifies a 1D texture subresource. - - - A D3D12_TEX1D_ARRAY_DSV structure that specifies an array of 1D texture subresources. - - - A D3D12_TEX2D_DSV structure that specifies a 2D texture subresource. - - - A D3D12_TEX2D_ARRAY_DSV structure that specifies an array of 2D texture subresources. - - - A D3D12_TEX2DMS_DSV structure that specifies a multisampled 2D texture. - - - A D3D12_TEX2DMS_ARRAY_DSV structure that specifies an array of multisampled 2D textures. - - - - Specifies device-wide debug layer settings. - Microsoft Docs: - - - - - This subobject is unsupported in the current release. - Microsoft Docs: - - - - Size of the pExports array. If 0, this is being explicitly defined as a default association. Another way to define a default association is to omit this subobject association for that subobject completely. - - - The array of exports with which the subobject is associated. - - - - Gets the layout of the root signature, without converting between root signature versions. - Microsoft Docs: - - - - - Gets the layout of the root signature. - Microsoft Docs: - - - - - Specifies the settings used for luma keying. - Microsoft Docs: - - - - A boolean value specifying 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. - - - - Specifies the type of a raytracing acceleration structure. - Microsoft Docs: - - - - Top-level acceleration structure. - - - Bottom-level acceleration structure. - - - - Sets CPU descriptor handles for the render targets and depth stencil. - Microsoft Docs: - The number of entries in the pRenderTargetDescriptors array (ranges between 0 and D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT). If this parameter is nonzero, the number of entries in the array to which pRenderTargetDescriptors points must equal the number in this parameter. - Specifies an array of D3D12_CPU_DESCRIPTOR_HANDLE structures that describe the CPU descriptor handles that represents the start of the heap of render target descriptors. If this parameter is NULL and NumRenderTargetDescriptors is 0, no render targets are bound. - True means the handle passed in is the pointer to a contiguous range of NumRenderTargetDescriptors descriptors. This case is useful if the set of descriptors to bind already happens to be contiguous in memory (so all that’s needed is a handle to the first one). For example, if NumRenderTargetDescriptors is 3 then the memory layout is taken as follows: - -Memory layout with parameter set to true -In this case the driver dereferences the handle and then increments the memory being pointed to. - -False means that the handle is the first of an array of NumRenderTargetDescriptors handles. The false case allows an application to bind a set of descriptors from different locations at once. Again assuming that NumRenderTargetDescriptors is 3, the memory layout is taken as follows: - -Memory layout with parameter set to false -In this case the driver dereferences three handles that are expected to be adjacent to each other in memory. - A pointer to a D3D12_CPU_DESCRIPTOR_HANDLE structure that describes the CPU descriptor handle that represents the start of the heap that holds the depth stencil descriptor. If this parameter is NULL, no depth stencil descriptor is bound. - - - - - Gets information about the features that are supported by the current graphics driver. - Microsoft Docs: - A constant from the D3D12_FEATURE enumeration describing the feature(s) that you want to query for support. - A pointer to a data structure that corresponds to the value of the Feature parameter. To determine the corresponding data structure for each constant, see D3D12_FEATURE. - The size of the structure pointed to by the pFeatureSupportData parameter. - - - - - Describes the level of GPU-based validation to perform at runtime. - Microsoft Docs: - - - - Default behavior; resource states, descriptors, and descriptor tables are all validated. - - - When set, GPU-based validation does not perform resource state validation which greatly reduces the performance cost of GPU-based validtion. Descriptors and descriptor heaps are still validated. - - - - Describes a ID3D12VideoMotionEstimatorHeap. Pass this structure into ID3D12VideoDevice1::CreateVideoMotionEstimatorHeap to create an instance of ID3D12VideoMotionEstimatorHeap. - Microsoft Docs: - - - - The node mask specifying the physical adapter on which the video processor will be used. For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node, i.e. the device's physical adapter, to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A value from the DXGI_FORMAT enumeration specifying the format of the input and reference frames. - - - A value from the D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE enumeration specifying the search block size the video motion estimator will use. - - - A value from the D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION enumeration specifying the vector precision the video motion estimator will use. - - - A D3D12_VIDEO_SIZE_RANGE structure representing the minimum and maximum input and reference frame size, in pixels, that the motion estimator will accept. - - - - Sets a rendering predicate. - Microsoft Docs: - The buffer, as an ID3D12Resource, which must be in the [D3D12_RESOURCE_STATE_PREDICATION](/windows/win32/api/d3d12/ne-d3d12-d3d12_resource_states) or [D3D21_RESOURCE_STATE_INDIRECT_ARGUMENT](/windows/win32/api/d3d12/ne-d3d12-d3d12_resource_states) state (both values are identical, and provided as aliases for clarity), or NULL to disable predication. - The aligned buffer offset, as a UINT64. - Specifies a D3D12_PREDICATION_OP, such as D3D12_PREDICATION_OP_EQUAL_ZERO or D3D12_PREDICATION_OP_NOT_EQUAL_ZERO. - - - - - Enables a list of experimental features. - Microsoft Docs: - The number of experimental features to enable. - SAL: __in_ecount(NumFeatures) - -A pointer to an array of IDs that specify which of the available experimental features to enable. - SAL: __in_ecount(NumFeatures) - -Structures that contain additional configuration details that some experimental features might need to be enabled. - SAL: __in_ecount(NumFeatures) - -The sizes of any configuration structs passed in pConfigurationStructs parameter. - - - - - 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. - - - - Describes a graphics pipeline state object. - Microsoft Docs: - - - - A pointer to the ID3D12RootSignature object. - - - A D3D12_SHADER_BYTECODE structure that describes the vertex shader. - - - A D3D12_SHADER_BYTECODE structure that describes the pixel shader. - - - A D3D12_SHADER_BYTECODE structure that describes the domain shader. - - - A D3D12_SHADER_BYTECODE structure that describes the hull shader. - - - A D3D12_SHADER_BYTECODE structure that describes the geometry shader. - - - A D3D12_STREAM_OUTPUT_DESC structure that describes a streaming output buffer. - - - A D3D12_BLEND_DESC structure that describes the blend state. - - - The sample mask for the blend state. - - - A D3D12_RASTERIZER_DESC structure that describes the rasterizer state. - - - A D3D12_DEPTH_STENCIL_DESC structure that describes the depth-stencil state. - - - A D3D12_INPUT_LAYOUT_DESC structure that describes the input-buffer data for the input-assembler stage. - - - Specifies the properties of the index buffer in a D3D12_INDEX_BUFFER_STRIP_CUT_VALUE structure. - - - A D3D12_PRIMITIVE_TOPOLOGY_TYPE-typed value for the type of primitive, and ordering of the primitive data. - - - The number of render target formats in the RTVFormats member. - - - An array of DXGI_FORMAT-typed values for the render target formats. - - - A DXGI_FORMAT-typed value for the depth-stencil format. - - - A DXGI_SAMPLE_DESC structure that specifies multisampling parameters. - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set bits to identify the nodes (the device's physical adapters) for which the graphics pipeline state is to apply. - Each bit in the mask corresponds to a single node. - Refer to Multi-adapter systems. - - - A cached pipeline state object, as a D3D12_CACHED_PIPELINE_STATE structure. pCachedBlob and CachedBlobSizeInBytes may be set to NULL and 0 respectively. - - - A D3D12_PIPELINE_STATE_FLAGS enumeration constant such as for "tool debug". - - - - Describes a subresource memory range. - Microsoft Docs: - - - - The index of the subresource. - - - A memory range within the subresource. - - - - This shader-reflection interface provides access to a constant buffer. - Microsoft Docs: - - - - - Resets a command list back to its initial state as if a new command list was just created. - Microsoft Docs: - A pointer to the ID3D12CommandAllocator object that the device creates command lists from. - A pointer to the ID3D12PipelineState object that contains the initial pipeline state for the command list. This is optional and can be NULL. If NULL, the runtime sets a dummy initial pipeline state so that drivers don't have to deal with undefined state. The overhead for this is low, particularly for a command list, for which the overall cost of recording the command list likely dwarfs the cost of one initial state setting. So there is little cost in not setting the initial pipeline state parameter if it isn't convenient. - -For bundles on the other hand, it might make more sense to try to set the initial state parameter since bundles are likely smaller overall and can be reused frequently. - - - - - Copies the entire contents of the source resource to the destination resource. - Microsoft Docs: - A pointer to the ID3D12Resourceinterface that represents the destination resource. - A pointer to the ID3D12Resourceinterface that represents the source resource. - - - - - Describes the transition of subresources between different usages. - Microsoft Docs: - - - - A pointer to the ID3D12Resource object that represents the resource used in the transition. - - - The index of the subresource for the transition. - Use the D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES flag ( 0xffffffff ) to transition all subresources in a resource at the same time. - - - The "before" usages of the subresources, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. - - - The "after" usages of the subresources, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. - - - - Specifies the type of a sub-object in a pipeline state stream description. - Microsoft Docs: - - - - Indicates a root signature subobject type. -The corresponding subobject type is ID3D12RootSignature. - - - Indicates a vertex shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - Indicates a pixel shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - Indicates a domain shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - Indicates a hull shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - Indicates a geometry shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - Indicates a compute shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - Indicates a stream-output subobject type. -The corresponding subobject type is D3D12_STREAM_OUTPUT_DESC. - - - Indicates a blend subobject type. -The corresponding subobject type is D3D12_BLEND_DESC. - - - Indicates a sample mask subobject type. -The corresponding subobject type is UINT. - - - Indicates indicates a rasterizer subobject type. -The corresponding subobject type is D3D12_RASTERIZER_DESC. - - - Indicates a depth stencil subobject type. -The corresponding subobject type is D3D12_DEPTH_STENCIL_DESC. - - - Indicates an input layout subobject type. -The corresponding subobject type is D3D12_INPUT_LAYOUT_DESC. - - - Indicates an index buffer strip cut value subobject type. -The corresponding subobject type is D3D12_INDEX_BUFFER_STRIP_CUT_VALUE. - - - Indicates a primitive topology subobject type. -The corresponding subobject type is D3D12_PRIMITIVE_TOPOLOGY_TYPE. - - - Indicates a render target formats subobject type. The corresponding subobject type is D3D12_RT_FORMAT_ARRAY structure, which wraps an array of render target formats along with a count of the array elements. - - - Indicates a depth stencil format subobject. -The corresponding subobject type is DXGI_FORMAT. - - - Indicates a sample description subobject type. -The corresponding subobject type is DXGI_SAMPLE_DESC. - - - Indicates a node mask subobject type. -The corresponding subobject type is D3D12_NODE_MASK or UINT. - - - Indicates a cached pipeline state object subobject type. -The corresponding subobject type is D3D12_CACHED_PIPELINE_STATE. - - - Indicates a flags subobject type. -The corresponding subobject type is D3D12_PIPELINE_STATE_FLAGS. - - - Indicates an expanded depth stencil subobject type. This expansion of the depth stencil subobject supports optional depth bounds checking. -The corresponding subobject type is D3D12_DEPTH_STENCIL_DESC1. - - - Indicates a view instancing subobject type. -The corresponding subobject type is D3D12_VIEW_INSTANCING_DESC. - - - Indicates an amplification shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - Indicates a mesh shader subobject type. -The corresponding subobject type is D3D12_SHADER_BYTECODE. - - - A sentinel value that marks the exclusive upper-bound of valid values this enumeration represents. - - - - This method uses the GPU to copy texture data between two locations. Both the source and the destination may reference texture data located within either a buffer resource or a texture resource. - Microsoft Docs: - Specifies the destination D3D12_TEXTURE_COPY_LOCATION. The subresource referred to must be in the D3D12_RESOURCE_STATE_COPY_DEST state. - 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. - Specifies the source D3D12_TEXTURE_COPY_LOCATION. - The subresource referred to must be in the D3D12_RESOURCE_STATE_COPY_SOURCE state. - Specifies an optional D3D12_BOX that sets the size of the source texture to copy. - - - - - Gets a pointer to the device that created this interface. - Microsoft Docs: - The globally unique identifier (GUID) for the device interface. - The REFIID, or GUID, of the interface to the device can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12Device) will get the GUID of the interface to a device. - A pointer to a memory block that receives a pointer to the ID3D12Device interface for the device. - - - - - Defines constants that specify protected resource session support. - Microsoft Docs: - - - - Indicates that protected resource sessions are not supported. - - - Indicates that protected resource sessions are supported. - - - - Specifies the scaling capabilities of the video scaler. - Microsoft Docs: - - - - All possible output size width/height combinations that exist between the maximum size and minimum size for the extent, inclusive, are supported. - - - The scaler only supports output sizes at a power of two scale factors within the range. The x and y scale factors must be the same for both dimensions when this flag is set. - - - The scaler only supports output sizes with even output dimensions. - - - - Describes a sampler state. - Microsoft Docs: - - - - A D3D12_FILTER-typed value that specifies the filtering method to use when sampling a texture. - - - A D3D12_TEXTURE_ADDRESS_MODE-typed value that specifies the method to use for resolving a u texture coordinate that is outside the 0 to 1 range. - - - A D3D12_TEXTURE_ADDRESS_MODE-typed value that specifies the method to use for resolving a v texture coordinate that is outside the 0 to 1 range. - - - A D3D12_TEXTURE_ADDRESS_MODE-typed value that specifies the 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 the runtime calculates that a texture should be sampled at mipmap level 3 and MipLODBias is 2, the texture will be sampled at mipmap level 5. - - - Clamping value used if D3D12_FILTER_ANISOTROPIC or D3D12_FILTER_COMPARISON_ANISOTROPIC is specified in Filter. Valid values are between 1 and 16. - - - A D3D12_COMPARISON_FUNC-typed value that specifies a function that compares sampled data against existing sampled data. - - - Border color to use if D3D12_TEXTURE_ADDRESS_MODE_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 member to a large value. - - - - Describes a resource to resolve to at the conclusion of a render pass. - Microsoft Docs: - - - - A pointer to an ID3D12Resource. The source resource. - - - A pointer to an ID3D12Resource. The destination resource. - - - A UINT. The number of subresources. - - - A pointer to a constant array of D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS. These subresources can be a subset of the render target's array slices, but you can't target subresources that aren't part of the render target view (RTV) or the depth/stencil view (DSV). - -> [!NOTE] -> This pointer is directly referenced by the command list, and the memory for this array must remain alive and intact until EndRenderPass is called. - - - A DXGI_FORMAT. The data format of the resources. - - - A D3D12_RESOLVE_MODE. The resolve operation. - - - A BOOL. TRUE to preserve the resolve source, otherwise FALSE. - - - - Represents a virtual adapter. This interface extends ID3D12Device4. - Microsoft Docs: - - - - - Retrieves video extension command support using command-defined input and output structures. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - The unique identifier for the video extension command for which support is queried. - - - Input data for the capability query allocated by the caller with a size of InputDataSizeInBytes. This struct is enumerable as the D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_INPUT parameter stage. - - - The byte size of the input data allocation. - - - Output data for the capability query allocated by the caller with a size of OutputDataSizeInBytes. This struct is enumerable as the D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE_CAPS_OUTPUT parameter stage. - - - The byte size of the output data allocation. - - - - Describes a streaming output buffer. - Microsoft Docs: - - - - An array of D3D12_SO_DECLARATION_ENTRY structures. Can't be NULL if NumEntries > 0. - - - The number of entries in the stream output declaration array that the pSODeclaration member points to. - - - An array of buffer strides; each stride is the size of an element for that buffer. - - - The number of strides (or buffers) that the pBufferStrides member points to. - - - The index number of the stream to be sent to the rasterizer stage. - - - - Bind an array of viewports to the rasterizer stage of the pipeline. - Microsoft Docs: - Number of viewports to bind. - The range of valid values is (0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE). - An array of D3D12_VIEWPORT structures to bind to the device. - - - - - Describes depth-stencil state. - Microsoft Docs: - - - - Specifies whether to enable depth testing. Set this member to TRUE to enable depth testing. - - - A D3D12_DEPTH_WRITE_MASK-typed value that identifies a portion of the depth-stencil buffer that can be modified by depth data. - - - A D3D12_COMPARISON_FUNC-typed value that identifies a function that compares depth data against existing depth data. - - - Specifies whether to enable stencil testing. Set this member to TRUE to 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. - - - A D3D12_DEPTH_STENCILOP_DESC structure that describes how to use the results of the depth test and the stencil test for pixels whose surface normal is facing towards the camera. - - - A D3D12_DEPTH_STENCILOP_DESC structure that describes how to use the results of the depth test and the stencil test for pixels whose surface normal is facing away from the camera. - - - - Describes a static sampler. - Microsoft Docs: - - - - The filtering method to use when sampling a texture, as a D3D12_FILTER enumeration constant. - - - Specifies the D3D12_TEXTURE_ADDRESS_MODE mode to use for resolving a u texture coordinate that is outside the 0 to 1 range. - - - Specifies the D3D12_TEXTURE_ADDRESS_MODE mode to use for resolving a v texture coordinate that is outside the 0 to 1 range. - - - Specifies the D3D12_TEXTURE_ADDRESS_MODE mode 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 D3D12_FILTER_ANISOTROPIC or D3D12_FILTER_COMPARISON_ANISOTROPIC is specified as the filter. Valid values are between 1 and 16. - - - A function that compares sampled data against existing sampled data. - The function options are listed in D3D12_COMPARISON_FUNC. - - - One member of D3D12_STATIC_BORDER_COLOR, the border color to use if D3D12_TEXTURE_ADDRESS_MODE_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 D3D12_FLOAT32_MAX. - - - The ShaderRegister and RegisterSpace parameters correspond to the binding syntax of HLSL. For example, in HLSL: - - -
Texture2D<float4> a : register(t2, space3);
-This corresponds to a ShaderRegister of 2 (indicating the type is SRV), and RegisterSpace is 3. - - -The ShaderRegister and RegisterSpace pair is needed to establish correspondence between shader resources and runtime heap descriptors, using the root signature data structure.
-
- - See the description for ShaderRegister. - Register space is optional; the default register space is 0. - - - Specifies the visibility of the sampler to the pipeline shaders, one member of D3D12_SHADER_VISIBILITY. - - - - This method enables tools such as PIX to instrument shaders. - Microsoft Docs: - TRUE to enable shader instrumentation; otherwise, FALSE. - - - - - Indicates the level of support for 64KB-aligned MSAA textures, cross-API sharing, and native 16-bit shader operations. - Microsoft Docs: - - - - Indicates whether 64KB-aligned MSAA textures are supported. - - - Indicates the tier of cross-API sharing support. - - - Indicates native 16-bit shader operations are supported. These operations require shader model 6_2. For more information, see the [16-Bit Scalar Types](https://github.com/microsoft/DirectXShaderCompiler/wiki/16-Bit-Scalar-Types) HLSL reference. - - - - Specifies an event that should be fired when one or more of a collection of fences reach specific values. - Microsoft Docs: - An array of length NumFences that specifies the ID3D12Fence objects. - An array of length NumFences that specifies the fence values required for the event is to be signaled. - Specifies the number of fences to be included. - Specifies one of the D3D12_MULTIPLE_FENCE_WAIT_FLAGS that determines how to proceed. - A handle to the event object. - - - - - Describes a GPU descriptor handle. - Microsoft Docs: - - - - The address of the descriptor. - - - - A debug message in the Information Queue. - Microsoft Docs: - - - - The category of the message. See D3D12_MESSAGE_CATEGORY. - - - The severity of the message. See D3D12_MESSAGE_SEVERITY. - - - The ID of the message. See D3D12_MESSAGE_ID. - - - The message string. - - - The length of pDescription, in bytes. - - - - The flags to apply when exporting symbols from a state subobject. - Microsoft Docs: - - - - No export flags. - - - - Gets the flags used to create the fence represented by the current instance. - Microsoft Docs: - - - - - A state subobject that represents a raytracing pipeline configuration. - Microsoft Docs: - - - - Limit on ray recursion for the raytracing pipeline. It must be in the range of 0 to 31. Below the maximum recursion depth, shader invocations such as closest hit or miss shaders can call TraceRay any number of times. At the maximum recursion depth, TraceRay calls result in the device going into removed state. - - - - Describes a heap. - Microsoft Docs: - - - - The size, in bytes, of the heap. - To avoid wasting memory, applications should pass SizeInBytes values which are multiples of the effective Alignment; - but non-aligned SizeInBytes is also supported, for convenience. - To find out how large a heap must be to support textures with undefined layouts and adapter-specific sizes, call ID3D12Device::GetResourceAllocationInfo. - - - A D3D12_HEAP_PROPERTIES structure that describes the heap properties. - - - The alignment value for the heap. Valid values: - - - - - - - - - - - - - - - - - - - -
ValueDescription
0 - An alias for 64KB. -
D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT - #defined as 64KB. -
D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT - #defined as 4MB. - An application must decide whether the heap will contain multi-sample anti-aliasing (MSAA), in which case, the application must choose D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT. -
-
- - A combination of D3D12_HEAP_FLAGS-typed values that are combined by using a bitwise-OR operation. - The resulting value identifies heap options. - When creating heaps to support adapters with resource heap tier 1, an application must choose some flags. - - - - Specifies parameters used during view instancing configuration. - Microsoft Docs: - - - - Specifies the number of views to be used, up to D3D12_MAX_VIEW_INSTANCE_COUNT. - - - The address of a memory location that contains ViewInstanceCount view instance location structures that specify the location of viewport/scissor and render target details of each view instance. - - - Configures view instancing with additional options. - - - - Creates a shared handle to an heap, resource, or fence object. - Microsoft Docs: - A pointer to the ID3D12DeviceChild interface that represents the heap, resource, or fence object to create for sharing. - The following interfaces (derived from ID3D12DeviceChild) are supported: - - - - 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. - - - - - Represents a subobject within a state object description. Use with D3D12_STATE_OBJECT_DESC. - Microsoft Docs: - - - - A D3D12_STATE_SUBOBJECT_TYPE specifying the type of the state subobject. - - - Pointer to state object description of the type specified in the Type parameter. - - - - Encapsulates a list of graphics commands for rendering. - Microsoft Docs: - - - - - Generates an interface that can return the deserialized data structure, via GetUnconvertedRootSignatureDesc. - Microsoft Docs: - A pointer to the source data for the serialized root signature. - The size, in bytes, of the block of memory that pSrcData points to. - The globally unique identifier (GUID) for the root signature deserializer interface. See remarks. - A pointer to a memory block that receives a pointer to the root signature deserializer. - - - - - Encapsulates a list of graphics commands for rendering, extending the interface to support variable-rate shading (VRS). - Microsoft Docs: - - - - - Queries reflection metadata about available meta commands. - Microsoft Docs: - A pointer to a UINT containing the number of meta commands to query for. This field determines the size of the pDescs array, unless pDescs is nullptr. - An optional pointer to an array of D3D12_META_COMMAND_DESC containing the descriptions of the available meta commands. Pass nullptr to have the number of available meta commands returned in pNumMetaCommands. - - - - - Describes the subresources from a multi sampled 2D texture to use in a shader-resource view. - Microsoft Docs: - - - - Integer of any value. See remarks. - - - - Creates an instance of the specified meta command. - Microsoft Docs: - A reference to the globally unique identifier (GUID) of the meta command that you wish to instantiate. - For single-adapter operation, set this to zero. If there are multiple adapter nodes, set a bit to identify the node (one of the device's physical adapters) to which the meta command applies. Each bit in the mask corresponds to a single node. Only one bit must be set. See Multi-adapter systems. - An optional pointer to a constant structure containing the values of the parameters for creating the meta command. - A SIZE_T containing the size of the structure pointed to by pCreationParametersData, if set, otherwise 0. - A reference to the globally unique identifier (GUID) of the interface that you wish to be returned in ppMetaCommand. This is expected to be the GUID of ID3D12MetaCommand. - A pointer to a memory block that receives a pointer to the meta command. This is the address of a pointer to an ID3D12MetaCommand, representing the meta command created. - - - - - Specifies a resolve operation. - Microsoft Docs: - - - - Resolves compressed source samples to their uncompressed values. When using this operation, the source and destination resources must have the same sample count, unlike the min, max, and average operations that require the destination to have a sample count of 1. - - - Resolves the source samples to their minimum value. It can be used with any render target or depth stencil format. - - - Resolves the source samples to their maximum value. It can be used with any render target or depth stencil format. - - - Resolves the source samples to their average value. It can be used with any non-integer render target format, including the depth plane. It can't be used with integer render target formats, including the stencil plane. - - - - Not intended to be called directly.  Use the PIX event runtime to insert events into a command list. - Microsoft Docs: - - - - - Description of a state object. Pass this structure into ID3D12Device::CreateStateObject. - Microsoft Docs: - - - - The type of the state object. - - - Size of the pSubobjects array. - - - An array of subobject definitions. - - - - Describes the slot of a root signature version 1.0. - Microsoft Docs: - - - - A D3D12_ROOT_PARAMETER_TYPE-typed value that specifies the type of root signature slot. This member determines which type to use in the union below. - - - A D3D12_ROOT_DESCRIPTOR_TABLE structure that describes the layout of a descriptor table as a collection of descriptor ranges that appear one after the other in a descriptor heap. - - - A D3D12_ROOT_CONSTANTS structure that describes constants inline in the root signature that appear in shaders as one constant buffer. - - - A D3D12_ROOT_DESCRIPTOR structure that describes descriptors inline in the root signature that appear in shaders. - - - A D3D12_SHADER_VISIBILITY-typed value that specifies the shaders that can access the contents of the root signature slot. - - - - Describes an export from a state subobject such as a DXIL library or a collection state object. - Microsoft Docs: - - - - The name to be exported. If the name refers to a function that is overloaded, a modified version of the name (e.g. encoding function parameter information in name string) can be provided to disambiguate which overload to use. The modified name for a function can be retrieved using HLSL compiler reflection. - -If the ExportToRename field is non-null, Name refers to the new name to use for it when exported. In this case Name must be the unmodified name, whereas ExportToRename can be either a modified or unmodified name. A given internal name may be exported multiple times with different renames (and/or not renamed). - - - If non-null, this is the name of an export to use but then rename when exported. - - - - Describes a constant buffer to view. - Microsoft Docs: - - - - The D3D12_GPU_VIRTUAL_ADDRESS of the constant buffer. - D3D12_GPU_VIRTUAL_ADDRESS is a typedef'd alias of UINT64. - - - The size in bytes of the constant buffer. - - - - Describes the root signature 1.0 layout of a descriptor table as a collection of descriptor ranges that are all relative to a single base descriptor handle. - Microsoft Docs: - - - - The number of descriptor ranges in the table layout. - - - An array of D3D12_DESCRIPTOR_RANGE structures that describe the descriptor ranges. - - - - Specifies the parameters for the input stream for a video process operation. - Microsoft Docs: - - - - A value from the DXGI_FORMAT enumeration specifying the format of the input stream. In the case of stereo, this format is the format of both inputs. - - - A value from the DXGI_COLOR_SPACE_TYPE enumeration specifying the color space of the video processor input and reference surfaces. - - - A DXGI_RATIONAL structure specifying the source aspect ratio. - - - A DXGI_RATIONAL structure specifying the destination aspect ratio. - - - A DXGI_RATIONAL structure specifying the frame rate of the input video stream. - - - A D3D12_VIDEO_SIZE_RANGE structure representing the size of the source rectangle. This argument specifies the input range size this video processor must support for ProcessFrames. If a source size exceeds the range, the video processor must be recreated. - - - A D3D12_VIDEO_SIZE_RANGE structure representing the size of the destination rectangle. This argument specifies the destination range size this video processor must support for ProcessFrames. If a source size exceeds the range, the video processor must be recreated. - - - A boolean value specifying whether the video processor should support all D3D12_VIDEO_PROCESS_ORIENTATION for ProcessFrames. - - - A bitwise OR combination of one or more flags from the D3D12_VIDEO_PROCESS_FILTER_FLAGS enumeration specifying the filters to enable. - - - A value from the D3D12_VIDEO_FRAME_STEREO_FORMAT enumeration specifies whether the stream is stereo or not. A value of D3D12_VIDEO_PROCESS_STEREO_FORMAT_SEPARATE indicates that there will be two sets of input textures, and two sets of references for the stereo interlaced case. - - - A value from the D3D12_VIDEO_FIELD_TYPE enumeration specfying the interlaced field type of the input source. When working with mixed content, use [ID3D12VideoProcessCommandList1::ProcessFrames1](nf-d3d12video-id3d12videoprocesscommandlist1-processframes1.md) which supports changing the field type for each call. - - - A value from the D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS enumeration specifying the deinterlace mode to use. - - - A boolean value specifying whether alpha blending is enabled. Alpha blending settings are provided to ProcessFrames with AlphaBlending the field of the D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS structure. - - - A D3D12_VIDEO_PROCESS_LUMA_KEY structure specifying the luma key for an input stream on the video processor. - - - An integer specifying the number of past reference frames. - - - An integer specifying the number of future reference frames. - - - A boolean value specifying wither automatic processing features are enabled for the video processor. - - - - Specifies what to clear from the depth stencil view. - Microsoft Docs: - - - - Indicates the depth buffer should be cleared. - - - Indicates the stencil buffer should be cleared. - - - - Identifies 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 ID3D12GraphicsCommandList::OMSetStencilRef. - - - 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. - - - - Fills the function descriptor structure for the function. - Microsoft Docs: - A pointer to a D3D12_FUNCTION_DESC structure that receives a description of the function. - - - - - Specifies output stream arguments for the output passed to ID3D12VideoProcessCommandList::ProcessFrames. - Microsoft Docs: - - - - A DXGI_FORMAT structure specifying the format of the output resources. - - - A DXGI_COLOR_SPACE_TYPE value that specifies the colorspace for the video processor output surface. - - - A value from the D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE enumeration specifying the alpha fill mode for data that the video processor writes to the render target. - - - The zero-based index of an input stream. This parameter is used if AlphaFillMode is D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE_SOURCE_STREAM. Otherwise, the parameter is ignored. - - - The video processor uses the background color to fill areas of the target rectangle that do not contain a video image. Areas outside the target rectangle are not affected. The meaning of the values are specified by the ColorSpace parameter. - -| BackgroundColor | YCbCrA | RGBA | -|-------------------|----------|---------| -| BackgroundColor[0]| Y | R | -| BackgroundColor[1]| Cb | G | -| BackgroundColor[2]| Cr | B | -| BackgroundColor[3]| A | A | - - - A DXGI_RATIONAL structure specifying the frame rate of the output video stream. - - - If TRUE, stereo output is enabled. Otherwise, the video processor produces mono video frames. - - - - Represents the histogram output buffer for a single component. - Microsoft Docs: - - - - The offset location in pBuffer to write the component histogram. Must be 256-byte aligned. Set to zero when a component is disabled. - - - And ID3D12Resource representing the target buffer for hardware to write the components histogram. Set to a nullptr when the component histogram is disabled. - - - - Flags for setting split resource barriers. - Microsoft Docs: - - - - No flags. - - - This starts a barrier transition in a new state, putting a resource in a temporary no-access condition. - - - This barrier completes a transition, setting a new state and restoring active access to a resource. - - - - Defines constants that specify render/compute GPU operations. - Microsoft Docs: - - - - - Describes the range of supported sizes for a video scaler. - Microsoft Docs: - - - - The largest output width to which content can be scaled. The largest value allowed is D3D12\_REQ\_TEXTURE2D\_U\_OR\_V\_DIMENSION (16384). - - - The largest output height to which content can be scaled. The largest value allowed is D3D12\_REQ\_TEXTURE2D\_U\_OR\_V\_DIMENSION (16384). - - - The smallest output width to which content can be scaled. The smallest allowed value is 1. - - - The smallest output height to which content can be scaled. The smallest allowed value is 1. - - - - Adds a debug message to the message queue and sends that message to debug output. - Microsoft Docs: - Category of a message. - Severity of a message. - Unique identifier of a message. - User-defined message. - - - - - Identifies how to view a buffer resource. - Microsoft Docs: - - - - Indicates a default view. - - - View the buffer as raw. For more info about raw viewing of buffers, see Raw Views of Buffers. - - - - Specifies a depth and stencil value. - Microsoft Docs: - - - - Specifies the depth value. - - - Specifies the stencil value. - - - - Describes the transition between usages of two different resources that have mappings into the same heap. - Microsoft Docs: - - - - A pointer to the ID3D12Resource object that represents the before resource used in the transition. - - - A pointer to the ID3D12Resource object that represents the after resource used in the transition. - - - - Launch the threads of a ray generation shader. - Microsoft Docs: - A description of the ray dispatch - - - - - Describes a set of triangles used as raytracing geometry. The geometry pointed to by this struct are always in triangle list form, indexed or non-indexed. Triangle strips are not supported. - Microsoft Docs: - - - - Address of a 3x4 affine transform matrix in row-major layout to be applied to the vertices in the VertexBuffer during an acceleration structure build. The contents of VertexBuffer are not modified. If a 2D vertex format is used, the transformation is applied with the third vertex component assumed to be zero. - -If Transform3x4 is NULL the vertices will not be transformed. Using Transform3x4 may result in increased computation and/or memory requirements for the acceleration structure build. - - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. The address must be aligned to 16 bytes, defined as D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT. - - - Format of the indices in the IndexBuffer. Must be one of the following: - -
    -
  • DXGI_FORMAT_UNKNOWN - when IndexBuffer is NULL
  • -
  • DXGI_FORMAT_R32_UINT
  • -
  • DXGI_FORMAT_R16_UINT
  • -
-
- - Format of the vertices in VertexBuffer. Must be one of the following: - -
    -
  • DXGI_FORMAT_R32G32_FLOAT - third component is assumed 0
  • -
  • DXGI_FORMAT_R32G32B32_FLOAT
  • -
  • DXGI_FORMAT_R16G16_FLOAT - third component is assumed 0
  • -
  • DXGI_FORMAT_R16G16B16A16_FLOAT - A16 component is ignored, other data can be packed there, such as setting vertex stride to 6 bytes.
  • -
  • DXGI_FORMAT_R16G16_SNORM - third component is assumed 0
  • -
  • DXGI_FORMAT_R16G16B16A16_SNORM - A16 component is ignored, other data can be packed there, such as setting vertex stride to 6 bytes.
  • -
-
- - Number of indices in IndexBuffer. Must be 0 if IndexBuffer is NULL. - - - Number of vertices in VertexBuffer. - - - Array of vertex indices. If NULL, triangles are non-indexed. Just as with graphics, the address must be aligned to the size of IndexFormat. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. Note that if an app wants to share index buffer inputs between graphics input assembler and raytracing acceleration structure build input, it can always put a resource into a combination of read states simultaneously, e.g. D3D12_RESOURCE_STATE_INDEX_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. - - - Array of vertices including a stride. The alignment on the address and stride must be a multiple of the component size, so 4 bytes for formats with 32bit components and 2 bytes for formats with 16bit components. Unlike graphics, there is no constraint on the stride, other than that the bottom 32bits of the value are all that are used – the field is UINT64 purely to make neighboring fields align cleanly/obviously everywhere. Each vertex position is expected to be at the start address of the stride range and any excess space is ignored by acceleration structure builds. This excess space might contain other app data such as vertex attributes, which the app is responsible for manually fetching in shaders, whether it is interleaved in vertex buffers or elsewhere. - -The memory pointed to must be in state D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. Note that if an app wants to share vertex buffer inputs between graphics input assembler and raytracing acceleration structure build input, it can always put a resource into a combination of read states simultaneously, e.g. D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE - - - - Describes a vertex buffer view. - Microsoft Docs: - - - - Specifies a D3D12_GPU_VIRTUAL_ADDRESS that identifies the address of the buffer. - - - Specifies the size in bytes of the buffer. - - - Specifies the size in bytes of each vertex entry. - - - - Add storage filters to the top of the retrieval-filter stack. - Microsoft Docs: - Array of retrieval filters. - - - - - Provides video decoding and processing capabilities of a Microsoft Direct3D 12 device including the ability to query video capabilities and instantiating video decoders and processors. - Microsoft Docs: - - - - - Describes subresource data. - Microsoft Docs: - - - - A pointer to a memory block that contains the subresource data. - - - The row pitch, or width, or physical size, in bytes, of the subresource data. - - - The depth pitch, or width, or physical size, in bytes, of the subresource data. - - - - Provides information about the stream rate. - Microsoft Docs: - - - - The zero-based index number of the output frame. The OutputIndex member is a zero-based cyclic number that indicates the frame index number of the output. The driver uses this output-index information to perform the video processing in a certain pattern or cycle, especially when the driver performs deinterlacing or frame-rate conversion. For example, with the following output-index pattern, the driver performs the indicated video processing: - -- Progressive format at normal and half rate: - - OutputInde = 0, 0,... -- Progressive format at 2/1 custom rate (double frame-rate conversion, OutputFrames=2): - - OutputInde = 0, 1, 0, 1,... -- Interlaced format at normal rate: - - OutputInde = 0, 1, 0, 1,... (0: first field, 1: second field) -- Interlaced format at half rate: - - OutputInde = 0, 0,... (for example, first and second fields are blended to one frame) -- Interlaced at 4/5 custom rate (3:2 inverse telecine, OutputFrames=4): - - OutputInde = 0, 1, 2, 3, 0, 1, 2, 3,... (0:A, 1:B, 2:C, 3:D film frame) - - - The zero-based index number of the input frame or field. The InputFrameOrField member is a zero-based number that indicates the frame or the field number of the input surface. For example, with the following input-frame-or-field number, the driver can perform the indicated video processing: - -- Progressive format and interlaced format at normal rate: - - InputFrameOrField = 0, 1, 2,... -- Progressive format and interlaced format at half rate: - - InputFrameOrField = 0, 2, 4,... -- Interlaced format at 4/5 custom rate (3:2 inverse telecine, OutputFrames=4 and InputFrameOrField=10): - - InputFrameOrField = 0, 0, 0, 0, 10, 10, 10, 10, 20, 20, 20, 20,... -- Interlaced format at 4/15 custom rate (8:7 inverse telecine, OutputFrames=2 and InputFrameOrField=15): - - InputFrameOrField = 0, 0, 15, 15, 30, 30,... - - - - Clears the depth-stencil resource. - Microsoft Docs: - Describes the CPU descriptor handle that represents the start of the heap for the depth stencil to be cleared. - A combination of D3D12_CLEAR_FLAGS values that are combined by using a bitwise OR operation. The resulting value identifies the type of data to clear (depth buffer, stencil buffer, or both). - A value to clear the depth buffer with. This value will be clamped between 0 and 1. - A value to clear the stencil buffer with. - The number of rectangles in the array that the pRects parameter specifies. - An array of D3D12_RECT structures for the rectangles in the resource view to clear. If NULL, ClearDepthStencilView clears the entire resource view. - - - - - Specifies what type of texture copy is to take place. - Microsoft Docs: - - - - Indicates a subresource, identified by an index, is to be copied. - - - Indicates a place footprint, identified by a D3D12_PLACED_SUBRESOURCE_FOOTPRINT structure, is to be copied. - - - - Specifies the type of a command list. - Microsoft Docs: - - - - Specifies a command buffer that the GPU can execute. A direct command list doesn't inherit any GPU state. - - - Specifies a command buffer that can be executed only directly via a direct command list. A bundle command list inherits all GPU state (except for the currently set pipeline state object and primitive topology). - - - Specifies a command buffer for computing. - - - Specifies a command buffer for copying. - - - Specifies a command buffer for video decoding. - - - Specifies a command buffer for video processing. - - - - Describes 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 ID3D12Device::CreateShaderResourceView creates a view) -1. - - - The maximum number of mipmap levels for the view of the texture. See the remarks in D3D12_TEX1D_SRV. - -Set to -1 to indicate all the mipmap levels from MostDetailedMip on down to least detailed. - - - A value to clamp sample LOD values to. For example, if you specify 2.0f for the clamp value, you ensure that no individual sample accesses a mip level less than 2.0f. - - - - Specifies the parameters for the output stream for a video decode operation. - Microsoft Docs: - - - - An ID3D12Resource representing the output texture. If decode conversion is enabled, this texture will contain the post-conversion output. If decode conversion is not enabled, this texture will contain the decode output. - - - The index of the output subresource of pOutputTexture2D to use. This allows you to specify array indices if the output is an array. - - - An optional D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS structure containing output conversion parameters. - - - - 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. - - - - 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. - - - - Describes a parameter to a meta command. - Microsoft Docs: - - - - The parameter name. - - - A D3D12_META_COMMAND_PARAMETER_TYPE specifying the parameter type. - - - A D3D12_META_COMMAND_PARAMETER_FLAGS specifying the parameter flags. - - - A D3D12_RESOURCE_STATES specifying the expected state of a resource parameter. - - - The 4-byte aligned offset for this parameter, within the structure containing the parameter values, which you pass when creating/initializing/executing the meta command, as appropriate. - - - - This method configures the level of GPU-based validation that the debug device is to perform at runtime. - Microsoft Docs: - Specifies the level of GPU-based validation to perform at runtime. - - - - - Gets an interface by index. - Microsoft Docs: - Zero-based index. - - - - - Specifies the type of serialized data. Use a value from this enumeration when calling ID3D12Device5::CheckDriverMatchingIdentifier. - Microsoft Docs: - - - - The serialized data is a raytracing acceleration structure. - - - - Specifes the status of a video decode operation. - Microsoft Docs: - - - - The operation succeeded. - - - There was a minor problem in the data format, but the host decoder should continue processing. - - - There was a significant problem in the data format. The host decoder should continue processing, but should skip display. - - - There was a severe problem in the data format. The host decoder should restart the entire decoding process, starting at a sequence or random-access entry point. - - - - 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. - - - - 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. - - - - Specifies the amount of information to report on a device object's lifetime. - Microsoft Docs: - A value from the D3D12_RLDO_FLAGS enumeration. This method uses the value in Flags to determine the amount of information to report about a device object's lifetime. - - - - - Debug message severity levels for an information queue. - Microsoft Docs: - - - - Indicates a corruption error. - - - Indicates an error. - - - Indicates a warning. - - - Indicates an information message. - - - Indicates a message other than corruption, error, warning or information. - - - - Encapsulates a list of graphics commands for rendering, extending the interface to support writing immediate values directly to a buffer. - Microsoft Docs: - - - - - Describes the GPU memory layout of an acceleration structure visualization. - Microsoft Docs: - - - - The type of acceleration structure. - - - The number of descriptions. - - - - Gets the descriptor heap description. - Microsoft Docs: - - - - - Defines constants that specify a shading rate tier (for variable-rate shading, or VRS). - Microsoft Docs: - - - - Specifies that variable-rate shading is not supported. - - - Specifies that variable-rate shading tier 1 is supported. - - - Specifies that variable-rate shading tier 2 is supported. - - - - Indicates whether two ID3D12ShaderReflectionType Interface pointers have the same underlying type. - Microsoft Docs: - A pointer to a ID3D12ShaderReflectionType Interface. - - - - - Creates a view for unordered accessing. - Microsoft Docs: - A pointer to the ID3D12Resource object that represents the unordered access. - -At least one of pResource or pDesc must be provided. - -A null pResource is used to initialize a null descriptor, which guarantees Direct3D 11-like null binding behavior (reading 0s, writes are discarded), but must have a valid pDesc in order to determine the descriptor type. - The ID3D12Resource for the counter (if any) associated with the UAV. - -If pCounterResource is not specified, then the CounterOffsetInBytes member of the D3D12_BUFFER_UAV structure must be 0. - -If pCounterResource is specified, then there is a counter associated with the UAV, and the runtime performs validation of the following requirements: - -
    -
  • The StructureByteStride member of the D3D12_BUFFER_UAV structure must be greater than 0. -
  • -
  • The format must be DXGI_FORMAT_UNKNOWN. -
  • -
  • The D3D12_BUFFER_UAV_FLAG_RAW flag (a D3D12_BUFFER_UAV_FLAGS enumeration constant) must not be set. -
  • -
  • Both of the resources (pResource and pCounterResource) must be buffers. -
  • -
  • The CounterOffsetInBytes member of the D3D12_BUFFER_UAV structure must be a multiple of D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT (4096), and must be within the range of the counter resource. -
  • -
  • pResource cannot be NULL -
  • -
  • pDesc cannot be NULL. -
  • -
- A pointer to a D3D12_UNORDERED_ACCESS_VIEW_DESC structure that describes the unordered-access view. - -A null pDesc is used to initialize a default descriptor, if possible. This behavior is identical to the D3D11 null descriptor behavior, where defaults are filled in. This behavior inherits the resource format and dimension (if not typeless) and for buffers UAVs target a full buffer and are typed, and for textures UAVs target the first mip and all array slices. Not all resources support null descriptor initialization. - Describes the CPU descriptor handle that represents the start of the heap that holds the unordered-access view. -
-
- - - Specifies which unordered resource options are supported for a provided format. - Microsoft Docs: - - - - No unordered resource options are supported. - - - 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. - - - Format supports tiled resources. Refer to Volume Tiled Resources. - - - Format supports multi-plane overlays. - - - - Creates a render-target view for accessing resource data. - Microsoft Docs: - A pointer to the ID3D12Resource object that represents the render target. - - -At least one of pResource or pDesc must be provided. -A null pResource is used to initialize a null descriptor, which guarantees D3D11-like null binding behavior (reading 0s, writes are discarded), but must have a valid pDesc in order to determine the descriptor type. - A pointer to a D3D12_RENDER_TARGET_VIEW_DESC structure that describes the render-target view. - -A null pDesc is used to initialize a default descriptor, if possible. This behavior is identical to the D3D11 null descriptor behavior, where defaults are filled in. This behavior inherits the resource format and dimension (if not typeless) and RTVs target the first mip and all array slices. Not all resources support null descriptor initialization. - Describes the CPU descriptor handle that represents the destination where the newly-created render target view will reside. - - - - - Sets the layout of the graphics root signature. - Microsoft Docs: - A pointer to the ID3D12RootSignature object. - - - - - Describes the purpose of a query heap. A query heap contains an array of individual queries. - Microsoft Docs: - - - - Specifies one member of D3D12_QUERY_HEAP_TYPE. - - - Specifies the number of queries the heap should contain. - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the query heap applies. - Each bit in the mask corresponds to a single node. - Only 1 bit must be set. - Refer to Multi-adapter systems. - - - - Serializes a root signature version 1.0 that can be passed to ID3D12Device::CreateRootSignature. - Microsoft Docs: - The description of the root signature, as a pointer to a D3D12_ROOT_SIGNATURE_DESC structure. - A D3D_ROOT_SIGNATURE_VERSION-typed value that specifies the version of root signature. - A pointer to a memory block that receives a pointer to the ID3DBlob interface that you can use to access the serialized root signature. - A pointer to a memory block that receives a pointer to the ID3DBlob interface that you can use to access serializer error messages, or NULL if there are no errors. - - - - - Describes the dimensions of a mip region. - Microsoft Docs: - - - - The width of the mip region. - - - The height of the mip region. - - - The depth of the mip region. - - - - Performs a raytracing acceleration structure build on the GPU and optionally outputs post-build information immediately after the build. - Microsoft Docs: - Description of the acceleration structure to build. - Size of the pPostbuildInfoDescs array. Set to 0 if no post-build info is needed. - Optional array of descriptions for post-build info to generate describing properties of the acceleration structure that was built. - - - - - Gets a constant buffer by index. - Microsoft Docs: - Zero-based index. - - - - - Describes a DXIL library state subobject that can be included in a state object. - Microsoft Docs: - - - - The library to include in the state object. Must have been compiled with library target 6.3 or higher. It is fine to specify the same library multiple times either in the same state object / collection or across multiple, as long as the names exported each time don’t conflict in a given state object. - - - The size of pExports array. If 0, everything gets exported from the library. - - - - Describes flags and protection type for a protected resource session, per adapter. - Microsoft Docs: - - - - The node mask. For single GPU operation, set this to zero. If there are multiple GPU nodes, then set a bit to identify the node (the device's physical adapter) to which the protected session applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - Specifies the supported crypto sessions options. - - - The GUID that represents the protection type. Microsoft defines D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED. - -Using the D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED GUID is equivalent to calling [ID3D12Device4::CreateProtectedResourceSession](./nf-d3d12-id3d12device4-createprotectedresourcesession.md). - - - - Sets the reference value for depth stencil tests. - Microsoft Docs: - Reference value to perform against when doing a depth-stencil test. - - - - - Specifies the argument type of a D3D12_VIDEO_DECODE_FRAME_ARGUMENT - Microsoft Docs: - - - - The argument is a picture decoding parameter buffer. - - - The argument is an inverse quantization matrix buffer. - - - The argument is a slice control buffer. - - - TBD - - - - Gets a variable by name. - Microsoft Docs: - A pointer to a string containing the variable name. - - - - - Receives output data from calls to ID3D12VideoEncodeCommandList::ResolveMotionVectorHeap. - Microsoft Docs: - - - - An ID3D12Resource representing the output resource for resolved motion vectors. Motion vectors are resolved to DXGI_FORMAT_R16G16_SINT 2D textures. The resolved data is a signed 16-byte integer with quarter PEL units with the X vector component stored in the R component and the Y vector component stored in the G component. Motion vectors are stored in a 2D layout that corresponds to the pixel layout of the original input textures. - - - A D3D12_RESOURCE_COORDINATE structure specifying the output origin of the motion vectors. The remaining sub-region must be large enough to store all motion vectors per block specified by the input pixel with and pixel height and the specified D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE. - - - - Fills the library descriptor structure for the library reflection. - Microsoft Docs: - A pointer to a D3D12_LIBRARY_DESC structure that receives a description of the library reflection. - - - - - Describes 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 total number of elements in the view. - - - - Specifies the type of magnification or minification sampler filters. - Microsoft Docs: - - - - Point filtering is 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 is 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. - - - - 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 ID3D12Device::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 value to clamp sample LOD values to. For example, if you specify 2.0f for the clamp value, you ensure that no individual sample accesses a mip level less than 2.0f. - - - - Specifies heap options, such as whether the heap can contain textures, and whether resources are shared across adapters. - Microsoft Docs: - - - - No options are specified. - - - The heap is shared. Refer to Shared Heaps. - - - The heap isn't allowed to contain buffers. - - - The heap is allowed to contain swap-chain surfaces. - - - The heap is allowed to share resources across adapters. Refer to Shared Heaps. - - - The heap is not allowed to store Render Target (RT) and/or Depth-Stencil (DS) textures. - - - The heap is not allowed to contain resources with D3D12_RESOURCE_DIMENSION_TEXTURE1D, D3D12_RESOURCE_DIMENSION_TEXTURE2D, or D3D12_RESOURCE_DIMENSION_TEXTURE3D unless either D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET or D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL are present. Refer to D3D12_RESOURCE_DIMENSION and D3D12_RESOURCE_FLAGS. - - - Unsupported. Do not use. - - - The heap supports MEM_WRITE_WATCH functionality, which causes the system to track the pages that are written to in the commited memory region. This flag can't be combined with the D3D12_HEAP_TYPE_DEFAULT or D3D12_CPU_PAGE_PROPERTY_UNKNOWN flags. Applications are discouraged from using this flag themselves because it prevents tools from using this functionality. - - - Ensures that atomic operations will be atomic on this heap's memory, according to components able to see the memory. - -Creating a heap with this flag will fail under either of these conditions. -- The heap type is D3D12_HEAP_TYPE_DEFAULT, and the heap can be visible on multiple nodes, but the device does not support [D3D12_CROSS_NODE_SHARING_TIER_3](./ne-d3d12-d3d12_cross_node_sharing_tier.md). -- The heap is CPU-visible, but the heap type is not D3D12_HEAP_TYPE_CUSTOM. - -Note that heaps with this flag might be a limited resource on some systems. - - - The heap is created in a non-resident state and must be made resident using [ID3D12Device::MakeResident](./nf-d3d12-id3d12device-makeresident.md) or [ID3D12Device3::EnqueueMakeResident](./nf-d3d12-id3d12device3-enqueuemakeresident.md). - -By default, the final step of heap creation is to make the heap resident, so this flag skips this step and allows the application to decide when to do so. - - - Allows the OS to not zero the heap created. By default, committed resources and heaps are almost always zeroed upon creation. This flag allows this to be elided in some scenarios. However, it doesn't guarantee it. For example, memory coming from other processes still needs to be zeroed for data protection and process isolation. This can lower the overhead of creating the heap. - - - The heap is allowed to store all types of buffers and/or textures. This is an alias; for more details, see "Aliases" in the Remarks section. - - - The heap is only allowed to store buffers. This is an alias; for more details, see "Aliases" in the Remarks section. - - - The heap is only allowed to store non-RT, non-DS textures. This is an alias; for more details, see "Aliases" in the Remarks section. - - - The heap is only allowed to store RT and/or DS textures. This is an alias; for more details, see "Aliases" in the Remarks section. - - - - Gets the number of interfaces. - Microsoft Docs: - - - - - Defines constants that specify a shading rate combiner (for variable-rate shading, or VRS). - Microsoft Docs: - - - - Specifies the combiner C.xy = A.xy, for combiner (C) and inputs (A and B). - - - Specifies the combiner C.xy = B.xy, for combiner (C) and inputs (A and B). - - - Specifies the combiner C.xy = max(A.xy, B.xy), for combiner (C) and inputs (A and B). - - - Specifies the combiner C.xy = min(A.xy, B.xy), for combiner (C) and inputs (A and B). - - - Specifies the combiner C.xy = min(maxRate, A.xy + B.xy)`, for combiner (C) and inputs (A and B). - - - - Push a storage filter onto the storage-filter stack. - Microsoft Docs: - Pointer to a storage filter. - - - - - Adds GPU-Based Validation and Dependent Command Queue Synchronization to the debug layer. - Microsoft Docs: - - - - - Marks the ending of a render pass. - Microsoft Docs: - - - - - Sets a CPU descriptor handle for the unordered-access-view resource in the compute root signature. - Microsoft Docs: - The slot number for binding. - The GPU virtual address of the buffer. - D3D12_GPU_VIRTUAL_ADDRESS is a typedef'd alias of UINT64. - - - - - Specifies 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. - - - - Used with the EnqueuMakeResident function to choose how residency operations proceed when the memory budget is exceeded. - Microsoft Docs: - - - - Specifies the default residency policy, which allows residency operations to succeed regardless of the application's current memory budget. EnqueueMakeResident returns E_OUTOFMEMORY only when there is no memory available. - - - Specifies that the EnqueueMakeResident function should return E_OUTOFMEMORY when the residency operation would exceed the application's current memory budget. - - - - Retrieves the requested PSO from the library. The input desc is matched against the data in the current library database, and remembered in order to prevent duplication of PSO contents. - Microsoft Docs: - The unique name of the PSO. - Specifies a description of the required PSO in a D3D12_COMPUTE_PIPELINE_STATE_DESC structure. This input description is matched against the data in the current library database, and stored in order to prevent duplication of PSO contents. - Specifies a REFIID for the ID3D12PipelineState object. Typically set this, and the following parameter, with the macro IID_PPV_ARGS(&PSO1), where PSO1 is the name of the object. - Specifies a pointer that will reference the returned PSO. - - - - - When using triangle strip primitive topology, vertex positions are interpreted as vertices of a continuous triangle “strip”. - Microsoft Docs: - - - - Indicates that there is no cut value. - - - Indicates that 0xFFFF should be used as the cut value. - - - Indicates that 0xFFFFFFFF should be used as the cut value. - - - - 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. - - - - - Uses the CPU to copy data into a subresource, enabling the CPU to modify the contents of most textures with undefined layouts. - Microsoft Docs: - Specifies the index of the subresource. - 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 - D3D12_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 distance from one row of source data to the next row. - The distance from one depth slice of source data to the next. - - - - - This method samples the CPU and GPU timestamp counters at the same moment in time. - Microsoft Docs: - The value of the GPU timestamp counter. - The value of the CPU timestamp counter. - - - - - Defines constants that specify the lifetime state of a lifetime-tracked object. - Microsoft Docs: - - - - Specifies that the lifetime-tracked object is in use. - - - Specifies that the lifetime-tracked object is not in use. - - - - Specifies the viewport/stencil and render target associated with a view instance. - Microsoft Docs: - - - - The index of the viewport in the viewports array to be used by the view instance associated with this location. - - - The index of the render target in the render targets array to be used by the view instance associated with this location. - - - - Describes a stream output buffer. - Microsoft Docs: - - - - A D3D12_GPU_VIRTUAL_ADDRESS (a UINT64) that points to the stream output buffer. - If SizeInBytes is 0, this member isn't used and can be any value. - - - The size of the stream output buffer in bytes. - - - The location of the value of how much data has been filled into the buffer, as a D3D12_GPU_VIRTUAL_ADDRESS (a UINT64). - This member can't be NULL; a filled size location must be supplied (which the hardware will increment as data is output). - If SizeInBytes is 0, this member isn't used and can be any value. - - - - Creates a depth-stencil view for accessing resource data. - Microsoft Docs: - A pointer to the ID3D12Resource object that represents the depth stencil. - - -At least one of pResource or pDesc must be provided. -A null pResource is used to initialize a null descriptor, which guarantees D3D11-like null binding behavior (reading 0s, writes are discarded), but must have a valid pDesc in order to determine the descriptor type. - A pointer to a D3D12_DEPTH_STENCIL_VIEW_DESC structure that describes the depth-stencil view. - - -A null pDesc is used to initialize a default descriptor, if possible. This behavior is identical to the D3D11 null descriptor behavior, where defaults are filled in. This behavior inherits the resource format and dimension (if not typeless) and DSVs target the first mip and all array slices. Not all resources support null descriptor initialization. - Describes the CPU descriptor handle that represents the start of the heap that holds the depth-stencil view. - - - - - Describes 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. - - - - Represents Device Removed Extended Data (DRED) version 1.1 data. - Microsoft Docs: - - - - An HRESULT containing the reason the device was removed (matches the return value of GetDeviceRemovedReason). Also see [COM Error Codes (UI, Audio, DirectX, Codec)](/windows/desktop/com/com-error-codes-10). - - - A D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT value that contains the auto-breadcrumb state prior to device removal. - - - An output parameter of type pointer to D3D12_AUTO_BREADCRUMB_NODE representing the returned auto-breadcrumb object(s). This is a pointer to the head of a linked list of auto-breadcrumb node objects. All of the nodes in the linked list represent potentially incomplete command list execution on the GPU at the time of the device-removal event. - - - A D3D12_DRED_PAGE_FAULT_OUTPUT value that contains page fault data if device removal was the result of a GPU page fault. - - - - Gets the CPU descriptor handle that represents the start of the heap. - Microsoft Docs: - - - - - 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. - Turns this breaking condition on or off (true for on, false for off). - - - - - Describes constants inline in the root signature that appear in shaders as one constant buffer. - Microsoft Docs: - - - - The shader register. - - - The register space. - - - The number of constants that occupy a single shader slot (these constants appear like a single constant buffer). - All constants occupy a single root signature bind slot. - - - - Describes the space requirement for decoding an acceleration structure into a form that can be visualized by tools. - Microsoft Docs: - - - - The space requirement for decoding an acceleration structure into a form that can be visualized by tools. - - - - Sets a CPU descriptor handle for the shader resource in the compute root signature. - Microsoft Docs: - The slot number for binding. - The GPU virtual address of the buffer. - D3D12_GPU_VIRTUAL_ADDRESS is a typedef'd alias of UINT64. - - - - - Set a bit field of flags that will turn debug features on and off. - Microsoft Docs: - Feature-mask flags, as a bitwise-OR'd combination of D3D12_DEBUG_FEATURE enumeration constants. - If a flag is present, that feature will be set to on; otherwise, the feature will be set to off. - - - - - 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 D3D12_SHADER_INPUT_BIND_DESC structure that describes input binding of the resource. - - - - - Describes the descriptor heap. - Microsoft Docs: - - - - A D3D12_DESCRIPTOR_HEAP_TYPE-typed value that specifies the types of descriptors in the heap. - - - The number of descriptors in the heap. - - - A combination of D3D12_DESCRIPTOR_HEAP_FLAGS-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for the heap. - - - For single-adapter operation, set this to zero. - If there are multiple adapter nodes, set a bit to identify the node (one of the device's physical adapters) to which the descriptor heap applies. - Each bit in the mask corresponds to a single node. - Only one bit must be set. - See Multi-adapter systems. - - - - Create a sampler object that encapsulates sampling information for a texture. - Microsoft Docs: - A pointer to a D3D12_SAMPLER_DESC structure that describes the sampler. - Describes the CPU descriptor handle that represents the start of the heap that holds the sampler. - - - - - Describes the multi-sampling image quality levels for a given format and sample count. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value for the format to return info about. - - - The number of multi-samples per pixel to return info about. - - - Flags to control quality levels, as a bitwise-OR'd combination of D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS enumeration constants. - The resulting value specifies options for determining quality levels. - - - The number of quality levels. - - - - Gets the amount of stack memory required to invoke a raytracing shader in HLSL. - Microsoft Docs: - The shader entrypoint in the state object for which to retrieve stack size. For hit groups, an individual shader within the hit group must be specified using the syntax: - -hitGroupName::shaderType - -Where hitGroupName is the entrypoint name for the hit group and shaderType is one of: - -
    -
  • intersection
  • -
  • anyhit
  • -
  • closesthit
  • -
-These values are all case-sensitive. - -An example value is: "myTreeLeafHitGroup::anyhit". -
-
- - - Describes details for the discard-resource operation. - Microsoft Docs: - - - - The number of rectangles in the array that the pRects member specifies. - - - An array of D3D12_RECT structures for the rectangles in the resource to discard. - If NULL, DiscardResource discards the entire resource. - - - Index of the first subresource in the resource to discard. - - - The number of subresources in the resource to discard. - - - - Wraps an array of render target formats. - Microsoft Docs: - - - - Specifies a fixed-size array of DXGI_FORMAT values that define the format of up to 8 render targets. - - - Specifies the number of render target formats stored in the array. - - - - Describes a descriptor range. - Microsoft Docs: - - - - A D3D12_DESCRIPTOR_RANGE_TYPE-typed value that specifies the type of descriptor range. - - - The number of descriptors in the range. Use -1 or UINT_MAX to specify an unbounded size. If a given descriptor range is unbounded, then it must either be the last range in the table definition, or else the following range in the table definition must have a value for OffsetInDescriptorsFromTableStart that is not [D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND](). - - - The base shader register in the range. For example, for shader-resource views (SRVs), 3 maps to ": register(t3);" in HLSL. - - - The register space. Can typically be 0, but allows multiple descriptor arrays of unknown size to not appear to overlap. - For example, for SRVs, by extending the example in the BaseShaderRegister member description, 5 maps to ": register(t3,space5);" in HLSL. - - - The offset in descriptors, from the start of the descriptor table which was set as the root argument value for this parameter slot. This value can be D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND, which indicates this range should immediately follow the preceding range. - - - - Specifies 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. - - - - 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. - - - - Sets the blend factor that modulate values for a pixel shader, render target, or both. - Microsoft Docs: - Array of blend factors, one for each RGBA component. - - - - - Gets the geometry-shader input-primitive description. - Microsoft Docs: - - - - - Specifies the memory pool for the heap. - Microsoft Docs: - - - - The memory pool is unknown. - - - The memory pool is L0. - L0 is the physical system memory pool. - When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU. - When the adapter is UMA, this pool is the only one which is valid. - - - The memory pool is L1. - L1 is typically known as the physical video memory pool. - L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU. - When the adapter is UMA, this pool is not available. - - - - Retrieves the list of supported profiles. - Microsoft Docs: - - - - For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node (the device's physical adapter) to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - The number of profiles to retrieve. This number must match the value returned from a call [ID3D12VideoDevice::CheckFeatureSupport](nf-d3d12video-id3d12videodevice-checkfeaturesupport.md) when the feature specified is D3D12\_FEATURE\_VIDEO\_DECODE\_PROFILE\_COUNT. - - - A list of GUIDs representing the supported profiles. The calling application must allocate storage for the profile list before calling CheckFeatureSupport. - - - - Specifies the input parameters for calls to ID3D12VideoEncodeCommandList::EstimateMotion. - Microsoft Docs: - - - - An ID3D12Resource representing the current frame. The motion estimation operation applies to the entire frame. - - - The base plane of the MIP and array slice to use for the input. - - - An ID3D12Resource representing the reference frame, or past frame, used for motion estimation. - - - The base plane of the MIP and array slice to use for the reference. - - - An ID3D12VideoMotionVectorHeap representing the buffer containing the hardware-dependent output of the previous motion estimator operation which may be used for hinting the current operation. This parameter may be NULL, indicating that previous motion estimator output should not be considered for the current operation. - - - - Returns the amount of memory required to serialize the current contents of the database. - Microsoft Docs: - - - - - Describes 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. - - - - Defines constants that specify the flags for a parameter to a meta command. Values can be bitwise OR'd together. - Microsoft Docs: - - - - Specifies that the parameter is an input resource. - - - Specifies that the parameter is an output resource. - - - No flags specified. - - - - Specifies the volatility of both descriptors and the data they reference in a Root Signature 1.1 description, which can enable some driver optimizations. - Microsoft Docs: - - - - Default behavior. Descriptors are static, and default assumptions are made for data (for SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE, and for UAV: DATA_VOLATILE). - - - If this is the only flag set, then descriptors are volatile and default assumptions are made about data (for SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE, and for UAV: DATA_VOLATILE). - -If this flag is combined with DATA_VOLATILE, then both descriptors and data are volaille, which is equivalent to Root Signature Version 1.0. - -If this flag is combined with DATA_STATIC_WHILE_SET_AT_EXECUTE, then descriptors are volatile. This still doesn’t allow them to change during command list execution so it is valid to combine the additional declaration that data is static while set via root descriptor table during execution – the underlying descriptors are effectively static for longer than the data is being promised to be static. - - - Descriptors are static and the data is volatile. - - - Descriptors are static and data is static while set at execute. - - - Both descriptors and data are static. This maximizes the potential for driver optimization. - - - Provides the same benefits as static descriptors (see D3D12_DESCRIPTOR_RANGE_FLAG_NONE), except that the driver is not allowed to promote buffers to root descriptors as an optimization, because they must maintain bounds checks and root descriptors do not have those. - - - - Represents versioned Device Removed Extended Data (DRED) data. - Microsoft Docs: - - - - A D3D12_DRED_VERSION value, specifying a DRED version. This value determines which inner data member (of the union) is active. - - - A D3D12_DEVICE_REMOVED_EXTENDED_DATA value, containing DRED version 1.0 data. - - - A D3D12_DEVICE_REMOVED_EXTENDED_DATA1 value, containing DRED version 1.1 data. - - - - Remove a storage filter from the top of the storage-filter stack. - Microsoft Docs: - - - - - Specifies flags for the build of a raytracing acceleration structure. Use a value from this enumeration with the D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS structure that provides input to the acceleration structure build operation. - Microsoft Docs: - - - - No options specified for the acceleration structure build. - - - Build the acceleration structure such that it supports future updates (via the flag D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE) instead of the app having to entirely rebuild the structure. This option may result in increased memory consumption, build times, and lower raytracing performance. Future updates, however, should be faster than building the equivalent acceleration structure from scratch. - -This flag can only be set on an initial acceleration structure build, or on an update where the source acceleration structure specified D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE. In other words, after an acceleration structure was been built without D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE, no other acceleration structures can be created from it via updates. - - - Enables the option to compact the acceleration structure by calling CopyRaytracingAccelerationStructure using compact mode, specified with D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT. - -This option may result in increased memory consumption and build times. After future compaction, however, the resulting acceleration structure should consume a smaller memory footprint than building the acceleration structure from scratch. - -This flag is compatible with all other flags. If specified as part of an acceleration structure update, the source acceleration structure must have also been built with this flag. In other words, after an acceleration structure was been built without D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION, no other acceleration structures can be created from it via updates that specify D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION. - - - -Specifying ALLOW_COMPACTION may increase pre-compaction acceleration structure size versus not specifying ALLOW_COMPACTION. - - - -If multiple incremental builds are performed before finally compacting, there may be redundant compaction related work performed. - - -The size required for the compacted acceleration structure can be queried before compaction via EmitRaytracingAccelerationStructurePostbuildInfo. See D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC for more information on properties of compacted acceleration structure size. - -
Note  WhenD3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE is specified, there is certain information that needs to be retained in the acceleration structure, and compaction will only help so much. However, if the pipeline knows that the acceleration structure will no longer be updated, it can make the structure more compact. Some apps may benefit from compacting twice - once after the initial build, and again after the acceleration structure has settled to a static state, if that occurs.
-
 
-
- - Construct a high quality acceleration structure that maximizes raytracing performance at the expense of additional build time. Typically, the implementation will take 2-3 times the build time than the default setting in order to get better tracing performance. - -This flag is recommended for static geometry in particular. It is compatible with all other flags except for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD. - - - Construct a lower quality acceleration structure, trading raytracing performance for build speed. Typically, the implementation will take 1/2 to 1/3 the build time than default setting, with a sacrifice in tracing performance. - -This flag is compatible with all other flags except for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD. - - - Minimize the amount of scratch memory used during the acceleration structure build as well as the size of the result. This option may result in increased build times and/or raytracing times. This is orthogonal to the D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION flag and the explicit acceleration structure compaction that it enables. Combining the flags can mean both the initial acceleration structure as well as the result of compacting it use less memory. - -The impact of using this flag for a build is reflected in the result of calling GetRaytracingAccelerationStructurePrebuildInfo before doing the build to retrieve memory requirements for the build. - -This flag is compatible with all other flags. - - - Perform an acceleration structure update, as opposed to building from scratch. This is faster than a full build, but can negatively impact raytracing performance, especially if the positions of the underlying objects have changed significantly from the original build of the acceleration structure before updates. - -If the addresses of the source and destination acceleration structures are identical, the update is performed in-place. Any other overlapping of address ranges of the source and destination is invalid. For non-overlapping source and destinations, the source acceleration structure is unmodified. The memory requirement for the output acceleration structure is the same as in the input acceleration structure - -The source acceleration structure must have been built with D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE. - -This flag is compatible with all other flags. The other flags selections, aside from D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE and D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE, must match the flags in the source acceleration structure. - -Acceleration structure updates can be performed in unlimited succession, as long as the source acceleration structure was created with D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE and the flags for the update build continue to specify D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE. - - - - Copies descriptors from a source to a destination. - Microsoft Docs: - The number of descriptors to copy. - A D3D12_CPU_DESCRIPTOR_HANDLE that describes the destination descriptors to start to copy to. - -The destination and source descriptors must be in heaps of the same D3D12_DESCRIPTOR_HEAP_TYPE. - A D3D12_CPU_DESCRIPTOR_HANDLE that describes the source descriptors to start to copy from. - -> [!IMPORTANT] -> The SrcDescriptorRangeStart parameter must be in a non shader-visible descriptor heap. This is because shader-visible descriptor heaps may be created in WRITE_COMBINE memory or GPU local memory, which is prohibitively slow to read from. If your application manages descriptor heaps via copying the descriptors required for a given pass or frame from local "storage" descriptor heaps to the GPU-bound descriptor heap, then use shader-opaque heaps for the storage heaps and copy into the GPU-visible heap as required. - The D3D12_DESCRIPTOR_HEAP_TYPE-typed value that specifies the type of descriptor heap to copy with. This is required as different descriptor types may have different sizes. - -Both the source and destination descriptor heaps must have the same type, else the debug layer will emit an error. - - - - - Gets the number of interface slots in a shader. - Microsoft Docs: - - - - - This interface maintains context for video motion estimation operations. - Microsoft Docs: - - - - - Copies descriptors from a source to a destination. - Microsoft Docs: - The number of destination descriptor ranges to copy to. - An array of D3D12_CPU_DESCRIPTOR_HANDLE objects to copy to. - -All the destination and source descriptors must be in heaps of the same D3D12_DESCRIPTOR_HEAP_TYPE. - An array of destination descriptor range sizes to copy to. - The number of source descriptor ranges to copy from. - An array of D3D12_CPU_DESCRIPTOR_HANDLE objects to copy from. - -> [!IMPORTANT] -> All elements in the pSrcDescriptorRangeStarts parameter must be in a non shader-visible descriptor heap. This is because shader-visible descriptor heaps may be created in WRITE_COMBINE memory or GPU local memory, which is prohibitively slow to read from. If your application manages descriptor heaps via copying the descriptors required for a given pass or frame from local "storage" descriptor heaps to the GPU-bound descriptor heap, use shader-opaque heaps for the storage heaps and copy into the GPU-visible heap as required. - An array of source descriptor range sizes to copy from. - The D3D12_DESCRIPTOR_HEAP_TYPE-typed value that specifies the type of descriptor heap to copy with. This is required as different descriptor types may have different sizes. - -Both the source and destination descriptor heaps must have the same type, else the debug layer will emit an error. - - - - - An interface from which other core interfaces inherit from, including (but not limited to) ID3D12PipelineLibrary, ID3D12CommandList, ID3D12Pageable, and ID3D12RootSignature. It provides a method to get back to the device object it was created against. - Microsoft Docs: - - - - - Serializes a root signature of any version that can be passed to ID3D12Device::CreateRootSignature. - Microsoft Docs: - Specifies a D3D12_VERSIONED_ROOT_SIGNATURE_DESC that contains a description of any version of a root signature. - A pointer to a memory block that receives a pointer to the ID3DBlob interface that you can use to access the serialized root signature. - A pointer to a memory block that receives a pointer to the ID3DBlob interface that you can use to access serializer error messages, or NULL if there are no errors. - - - - - Represents a heap in which estimated motion vectors are stored. - Microsoft Docs: - - - - - 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. - - - - - Specifies the motion estimation vector precision that a video encoder supports. - Microsoft Docs: - - - - Vector precision is not supported by the encoder. - - - The vector precision is quarter-pixel motion. - - - - Describes subresource data. - Microsoft Docs: - - - - Offset, in bytes, between the start of the parent resource and this subresource. - - - The row pitch, or width, or physical size, in bytes, of the subresource data. - - - The depth pitch, or width, or physical size, in bytes, of the subresource data. - - - - Specifies the type of filter reduction. - Microsoft Docs: - - - - The filter type is standard. - - - The filter type is comparison. - - - The filter type is minimum. - - - The filter type is maximum. - - - - Describes a resource barrier (transition in resource use). - Microsoft Docs: - - - - A D3D12_RESOURCE_BARRIER_TYPE-typed value that specifies the type of resource barrier. - This member determines which type to use in the union below. - - - Specifies a D3D12_RESOURCE_BARRIER_FLAGS enumeration constant such as for "begin only" or "end only". - - - A D3D12_RESOURCE_TRANSITION_BARRIER structure that describes the transition of subresources between different usages. - Members specify the before and after usages of the subresources. - - - A - D3D12_RESOURCE_ALIASING_BARRIERstructure that describes the transition between usages of two different resources that have mappings into the same heap. - - - A - D3D12_RESOURCE_UAV_BARRIERstructure that describes a resource in which all UAV accesses (reads or writes) must complete before any future UAV accesses (read or write) can begin. - - - - Specifies how a video frame is interlaced. - Microsoft Docs: - - - - The frame is progressive. - - - The frame is interlaced. The top field of each frame is displayed first. - - - The frame is interlaced. The bottom field of each frame is displayed first. - - - - Binds an array of scissor rectangles to the rasterizer stage. - Microsoft Docs: - The number of scissor rectangles to bind. - An array of scissor rectangles. - - - - - Checks whether a resource, or subresource, is in a specified state, or not. - Microsoft Docs: - Specifies the ID3D12Resource to check. - The index of the subresource to check. - This can be set to an index, or D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES. - Specifies the state to check for. This can be one or more D3D12_RESOURCE_STATES flags Or'ed together. - - - - - Describes a set of geometry that is used in the D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS structure to provide input data to a raytracing acceleration structure build operation. - Microsoft Docs: - - - - The type of geometry. - - - The geometry flags - - - A D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC describing triangle geometry, if Type is D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES. Otherwise this parameter is unused. - - - A D3D12_RAYTRACING_GEOMETRY_AABBS_DESC describing triangle geometry, if Type is D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS. Otherwise this parameter is unused. - - - - Describes the blend state for a render target. - Microsoft Docs: - - - - Specifies whether to enable (or disable) blending. Set to TRUE to enable blending. - -> [!NOTE] -> It's not valid for LogicOpEnable and BlendEnable to both be TRUE. - - - Specifies whether to enable (or disable) a logical operation. Set to TRUE to enable a logical operation. - -> [!NOTE] -> It's not valid for LogicOpEnable and BlendEnable to both be TRUE. - - - A D3D12_BLEND-typed value that 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. - - - A D3D12_BLEND-typed value that 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. - - - A D3D12_BLEND_OP-typed value that defines how to combine the SrcBlend and DestBlend operations. - - - A D3D12_BLEND-typed value that 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. - - - A D3D12_BLEND-typed value that 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. - - - A D3D12_BLEND_OP-typed value that defines how to combine the SrcBlendAlpha and DestBlendAlpha operations. - - - A D3D12_LOGIC_OP-typed value that specifies the logical operation to configure for the render target. - - - A combination of D3D12_COLOR_WRITE_ENABLE-typed values that are combined by using a bitwise OR operation. The resulting value specifies a write mask. - - - - Describes the root signature 1.1 layout of a descriptor table as a collection of descriptor ranges that are all relative to a single base descriptor handle. - Microsoft Docs: - - - - The number of descriptor ranges in the table layout. - - - An array of D3D12_DESCRIPTOR_RANGE1 structures that describe the descriptor ranges. - - - - Opaque data structure describing driver versioning for a serialized acceleration structure. - Microsoft Docs: - - - - The opaque identifier of the driver. - - - The opaque driver versioning data. - - - - Describes the level of support for HLSL 6.0 wave operations. - Microsoft Docs: - - - - True if the driver supports HLSL 6.0 wave operations. - - - Specifies the baseline number of lanes in the SIMD wave that this implementation can support. This term is sometimes known as "wavefront size" or "warp width". Currently apps should rely only on this minimum value for sizing workloads. - - - Specifies the maximum number of lanes in the SIMD wave that this implementation can support. This capability is reserved for future expansion, and is not expected to be used by current applications. - - - Specifies the total number of SIMD lanes on the hardware. - - - Indicates transitions are possible in and out of the CBV, and indirect argument states, on compute command lists. If CheckFeatureSupport succeeds this value will always be true. - - - Indicates that 64bit integer operations are supported. - - - - Get the number of messages currently stored in the message queue. - Microsoft Docs: - - - - - Describes the allocation size of a video motion estimator heap. - Microsoft Docs: - - - - In multi-adapter operation, identifies the physical adapter of the device this operation applies to. - - - A DXGI_FORMAT structure specifying the format of the input and reference resources. - - - A value from the D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE specifying the search block size for motion estimation. - - - A value from the D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION specifying the search block size for motion estimation. - - - A D3D12_VIDEO_SIZE_RANGE structure representing the minimum and maximum input and reference frame size, in pixels, used by the motion estimator. - - - TRUE if the motion estimator operates on protected resource input and produces protected output; otherwise, FALSE. - - - The allocation size of the motion vector heap in the L0 memory pool. L0 is the physical system memory pool. When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU. When the adapter is UMA, this pool is the only one which is valid. For more information, see Residency. - - - The allocation size of the motion vector heap in the L1 memory pool. L1 is typically known as the physical video memory pool. L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU. When the adapter is UMA, this pool is not available. For more information, see Residency. - - - The allocation size of the motion estimator heap in the L0 memory pool. L0 is the physical system memory pool. When the adapter is discrete/NUMA, this pool has greater bandwidth for the CPU and less bandwidth for the GPU. When the adapter is UMA, this pool is the only one which is valid. For more information, see Residency. - - - The allocation size of the motion estimator heap in the L1 memory pool. L1 is typically known as the physical video memory pool. L1 is only available when the adapter is discrete/NUMA, and has greater bandwidth for the GPU and cannot even be accessed by the CPU. When the adapter is UMA, this pool is not available. For more information, see Residency. - - - - Copies a region of a buffer from one resource to another. - Microsoft Docs: - Specifies the destination ID3D12Resource. - Specifies a UINT64 offset (in bytes) into the destination resource. - Specifies the source ID3D12Resource. - Specifies a UINT64 offset (in bytes) into the source resource, to start the copy from. - Specifies the number of bytes to copy. - - - - - Identifies 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 D3D12_SAMPLER_DESC or HLSL code. - - - Similar to - D3D12_TEXTURE_ADDRESS_MODE_MIRROR - and - D3D12_TEXTURE_ADDRESS_MODE_CLAMP. - Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value. - - - - Defines constants that specify a level of dynamic optimization to apply to GPU work that's subsequently submitted. - Microsoft Docs: - - - - The default setting. Specifies that the driver may instrument workloads, and dynamically recompile shaders, in a low overhead, non-intrusive manner that avoids glitching the foreground workload. - - - Specifies that the driver may instrument as aggressively as possible. The understanding is that causing glitches is fine while in this mode, because the current work is being submitted specifically to train the system. - - - Specifies that background work should stop. This ensures that background shader recompilation won't consume CPU cycles. Available only in Developer mode. - - - Specifies that all dynamic optimization should be disabled. For example, if you're doing an A/B performance comparison, then using this constant ensures that the driver doesn't change anything that might interfere with your results. Available only in Developer mode. - - - - Specifies which resource heap tier the hardware and driver support. - Microsoft Docs: - - - - Indicates that heaps can only support resources from a single resource category. - For the list of resource categories, see Remarks. - In tier 1, these resource categories are mutually exclusive and cannot be used with the same heap. - The resource category must be declared when creating a heap, using the correct D3D12_HEAP_FLAGS enumeration constant. - Applications cannot create heaps with flags that allow all three categories. - - - Indicates that heaps can support resources from all three categories. - For the list of resource categories, see Remarks. - In tier 2, these resource categories can be mixed within the same heap. - Applications may create heaps with flags that allow all three categories; but are not required to do so. - Applications may be written to support tier 1 and seamlessly run on tier 2. - - - - Describes the format, width, height, depth, and row-pitch of the subresource into the parent resource. - Microsoft Docs: - - - - A DXGI_FORMAT-typed value that specifies the viewing format. - - - The width of the subresource. - - - The height of the subresource. - - - The depth of the subresource. - - - The row pitch, or width, or physical size, in bytes, of the subresource data. - This must be a multiple of D3D12_TEXTURE_DATA_PITCH_ALIGNMENT (256), and must be greater than or equal to the size of the data within a row. - - - - Retrieves the amount of memory required for the specified runtime parameter resource for a meta command, for the specified stage. - Microsoft Docs: - A D3D12_META_COMMAND_PARAMETER_STAGE specifying the stage to which the parameter belongs. - The zero-based index of the parameter within the stage. - - - - - Sets a CPU descriptor handle for the constant buffer in the graphics root signature. - Microsoft Docs: - The slot number for binding. - The GPU virtual address of the constant buffer. - D3D12_GPU_VIRTUAL_ADDRESS is a typedef'd alias of UINT64. - - - - - Describes 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. - - - - Describes the amount of artificial slowdown inserted by the debug device to simulate lower-performance graphics adapters. - Microsoft Docs: - - - - Specifies the amount of slowdown artificially applied, as a factor of the nominal time for the fence to signal. The default value is 0. - - - - Specifies the level of support for render passes on a graphics device. - Microsoft Docs: - - - - The user-mode display driver hasn't implemented render passes, and so the feature is provided only via software emulation. Render passes might not provide a performance advantage at this level of support. - - - The render passes feature is implemented by the user-mode display driver, and render target/depth buffer writes may be accelerated. Unordered access view (UAV) writes are not efficiently supported within the render pass. - - - The render passes feature is implemented by the user-mode display driver, render target/depth buffer writes may be accelerated, and unordered access view (UAV) writes (provided that writes in a render pass are not read until a subsequent render pass) are likely to be more efficient than issuing the same work without using a render pass. - - - - Describes a binding (fixed for the duration of the render pass) to a depth stencil view (DSV), as well as its beginning and ending access characteristics. - Microsoft Docs: - - - - A D3D12_CPU_DESCRIPTOR_HANDLE. The CPU descriptor handle corresponding to the depth stencil view (DSV). - - - A D3D12_RENDER_PASS_BEGINNING_ACCESS. The access to the depth buffer requested at the transition into a render pass. - - - A D3D12_RENDER_PASS_BEGINNING_ACCESS. The access to the stencil buffer requested at the transition into a render pass. - - - A D3D12_RENDER_PASS_ENDING_ACCESS. The access to the depth buffer requested at the transition out of a render pass. - - - A D3D12_RENDER_PASS_ENDING_ACCESS. The access to the stencil buffer requested at the transition out of a render pass. - - - - Describes the destination of a memory copy operation. - Microsoft Docs: - - - - A pointer to a memory block that receives the copied data. - - - The row pitch, or width, or physical size, in bytes, of the subresource data. - - - The slice pitch, or width, or physical size, in bytes, of the subresource data. - - - - Specifies categories of debug messages. - Microsoft Docs: - - - - Indicates a user defined message, see ID3D12InfoQueue::AddMessage. - - - - Provides methods for submitting command lists, synchronizing command list execution, instrumenting the command queue, and updating resource tile mappings. - Microsoft Docs: - - - - - Opens a handle for shared resources, shared heaps, and shared fences, by using HANDLE and REFIID. - Microsoft Docs: - The handle that was output by the call to - ID3D12Device::CreateSharedHandle. - The globally unique identifier (GUID) for one of the following interfaces: - - - -The REFIID, or GUID, of the interface can be obtained by using the __uuidof() macro. - For example, __uuidof(ID3D12Heap) will get the GUID of the interface to a resource. - A pointer to a memory block that receives a pointer to one of the following interfaces: - - - - - - - - Specifies the deinterlacing video processor capabilities. - Microsoft Docs: - - - - No deinterlacing capabilities are available. - - - 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 a custom high-quality deinterlacing, which requires the number of reference frames indicated in PastFrames and FutureFrames output fields of the D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO populated by a call to ID3D12VideoDevice::CheckFeatureSupport when the feature specified is D3D12_FEATURE_VIDEO_PROCESS_REFERENCE_INFO. If the video processor doesn’t have the necessary number of reference frames, it falls back to bob deinterlacing. - - - - Specifies the type of geometry used for raytracing. Use a value from this enumeration to specify the geometry type in a D3D12_RAYTRACING_GEOMETRY_DESC. - Microsoft Docs: - - - - The geometry consists of triangles. - - - The geometry procedurally is defined during raytracing by intersection shaders. For the purpose of acceleration structure builds, the geometry’s bounds are described with axis-aligned bounding boxes using the D3D12_RAYTRACING_GEOMETRY_AABBS_DESC structure. - - - - Describes settings used by GPU-Based Validation. - Microsoft Docs: - - - - Specifies a UINT that limits the number of messages that can be stored in the GPU-Based Validation message log. The default value is 256. Since many identical errors can be produced in a single Draw/Dispatch call it may be useful to increase this number. Note this can become a memory burden if a large number of command lists are used as there is a committed message log per command list. - - - Specifies the D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE that GPU-Based Validation uses when injecting validation code into shaders, except when overridden by per-command-list GPU-Based Validation settings (see D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS). The default value is D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION. - - - Specifies one of the D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS that indicates how GPU-Based Validation handles patching pipeline states. The default value is D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE. - - - - Creates a query heap. A query heap contains an array of queries. - Microsoft Docs: - Specifies the query heap in a D3D12_QUERY_HEAP_DESC structure. - Specifies a REFIID that uniquely identifies the heap. - Specifies a pointer to the heap, that will be returned on successful completion of the method. - ppvHeap can be NULL, to enable capability testing. - When ppvHeap is NULL, no object will be created and S_FALSE will be returned when pDesc is valid. - - - - - Gets the corresponding interface slot for a variable that represents an interface pointer. - Microsoft Docs: - The index of the array element to get the slot number for. - For a non-array variable this value will be zero. - - - - - Identifies the tier of resource binding being used. - Microsoft Docs: - - - - Tier 1. - See Hardware Tiers. - - - Tier 2. - See Hardware Tiers. - - - Tier 3. - See Hardware Tiers. - - - - Query the driver for resource requirements to build an acceleration structure. - Microsoft Docs: - Description of the acceleration structure build. This structure is shared with BuildRaytracingAccelerationStructure. For more information, see D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS. - -The implementation is allowed to look at all the CPU parameters in this struct and nested structs. It may not inspect/dereference any GPU virtual addresses, other than to check to see if a pointer is NULL or not, such as the optional transform in D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, without dereferencing it. In other words, the calculation of resource requirements for the acceleration structure does not depend on the actual geometry data (such as vertex positions), rather it can only depend on overall properties, such as the number of triangles, number of instances etc. - The result of the query. - - - - - Represents a compressed bitstream from which video is decoded. - Microsoft Docs: - - - - A pointer to an ID3D12Resource representing the source buffer containing the compressed bitstream to decode. - - - The offset to the beginning of the first slice. This offset has alignment requirements based on the tier value of the video decoder. For more information on decoding tiers, see D3D12_VIDEO_DECODE_TIER. - - - The size of the subregion of pBuffer that contains the bitstream. - - - - Retrieves the list of video extension command parameters for the specified parameter stage. - Microsoft Docs: - - - - The unique identifier for the video extension command for which parameters are retrieved. - - - A member of the D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_STAGE enumeration specifying the parameter stage for which the parameters are retrieved. - - - The supported number of video extension command parameters. This value must be the count returned by a call to[ID3D12VideoDevice::CheckFeatureSupport](nf-d3d12video-id3d12videodevice-checkfeaturesupport.md) with D3D12_FEATURE_VIDEO_EXTENSION_COMMAND_PARAMETER_COUNT specified as the feature. - - - Receives a list of D3D12_VIDEO_EXTENSION_COMMAND_PARAMETER_INFO structures describing video extension command parameters. - - - - Describes the slot of a root signature version 1.1. - Microsoft Docs: - - - - A D3D12_ROOT_PARAMETER_TYPE-typed value that specifies the type of root signature slot. This member determines which type to use in the union below. - - - A D3D12_ROOT_DESCRIPTOR_TABLE1 structure that describes the layout of a descriptor table as a collection of descriptor ranges that appear one after the other in a descriptor heap. - - - A D3D12_ROOT_CONSTANTS structure that describes constants inline in the root signature that appear in shaders as one constant buffer. - - - A D3D12_ROOT_DESCRIPTOR1 structure that describes descriptors inline in the root signature that appear in shaders. - - - A D3D12_SHADER_VISIBILITY-typed value that specifies the shaders that can access the contents of the root signature slot. - - - - Gets the current pipeline stack size. - Microsoft Docs: - - - - - A function-reflection interface accesses function info. - Microsoft Docs: - - - - - Executes a compute shader on 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. - - - - - Describes the dimensions of a viewport. - Microsoft Docs: - - - - X position of the left hand side of the viewport. - - - Y position of the top of the viewport. - - - 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. - - - - Debug message filter; contains a lists of message types to allow or deny. - Microsoft Docs: - - - - Specifies types of messages that you want to allow. See D3D12_INFO_QUEUE_FILTER_DESC. - - - Specifies types of messages that you want to deny. - - - - Describes the elements in a 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. - - - The size of each element in the buffer structure (in bytes) when the buffer represents a structured buffer. - - - A D3D12_BUFFER_SRV_FLAGS-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. - - - - Specifies options for the amount of information to report about a live device object's lifetime. - Microsoft Docs: - - - - Obtain a summary about a live device object's lifetime. - - - Obtain detailed information about a live 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. - - - - Invalidates the CPU pointer to the specified subresource in the resource. Unmap also flushes the CPU cache, when necessary, so that GPU reads to this address reflect any modifications made by the CPU. - Microsoft Docs: - Specifies the index of the subresource. - A pointer to a D3D12_RANGE structure that describes the range of memory to unmap. - -This indicates the region the CPU might have modified, and the coordinates are subresource-relative. A null pointer indicates the entire subresource might have been modified by the CPU. It is valid to specify the CPU didn't write any data by passing a range where End is less than or equal to Begin. - - - - - Specifies the parameter stages for video extension commands. - Microsoft Docs: - - - - The parameter stage is in video extension command creation. - - - The parameter stage is in video extension command initialization. - - - The parameter stage is in video extension command execution. - - - The parameter stage is input parameters passed to capabilities queries. - - - The parameter stage is output parameters passed to capabilities queries. - - - The parameter stage is device execution input. - - - The parameter stage is device execution output. - - - - 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. - - - - This method returns the GPU virtual address of a buffer resource. - Microsoft Docs: - - - - - Describes the layout of a root signature version 1.0. - Microsoft Docs: - - - - The number of slots in the root signature. This number is also the number of elements in the pParameters array. - - - An array of D3D12_ROOT_PARAMETER structures for the slots in the root signature. - - - Specifies the number of static samplers. - - - Pointer to one or more D3D12_STATIC_SAMPLER_DESC structures. - - - A combination of D3D12_ROOT_SIGNATURE_FLAGS-typed values that are combined by using a bitwise OR operation. - The resulting value specifies options for the root signature layout. - - - - Sets the layout of the compute root signature. - Microsoft Docs: - A pointer to the ID3D12RootSignature object. - - - - - Encapsulates a list of graphics commands for rendering, extending the interface to support ray tracing and render passes. - Microsoft Docs: - - - - - Specifies how to perform a tile-mapping operation. - Microsoft Docs: - - - - No tile-mapping flags are specified. - - - Unsupported, do not use. - - - - Describes an indirect argument (an indirect parameter), for use with a command signature. - Microsoft Docs: - - - - A single D3D12_INDIRECT_ARGUMENT_TYPE enumeration constant. - - - Specifies the slot containing the vertex buffer address. - - - Specifies the root index of the constant. - - - The offset, in 32-bit values, to set the first constant of the group. - Supports multi-value constants at a given root index. - Root constant entries must be sorted from smallest to largest DestOffsetIn32BitValues. - - - The number of 32-bit constants that are set at the given root index. - Supports multi-value constants at a given root index. - - - - Describes 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. - - - - Associates an IUnknown-derived interface with the device object and associates that interface with an application-defined GUID. - Microsoft Docs: - The GUID to associate with the interface. - A pointer to the IUnknown-derived interface to be associated with the device object. - - - - - Specifies the parameters for decode output conversion. - Microsoft Docs: - - - - A boolean value indicating whether decode conversion should be used. - - - A pointer to an ID3D12Resource containing the native decoding output. When downsampling is enabled, the output at native decode resolution, color space, and format may be required for future decode submissions (as reference frames, for instance). - - - The subresource index of the resource provided in pDecodeTexture2D to use. - - - A value from the DXGI_COLOR_SPACE_TYPE enumeration specifying the target color space of the output. - - - A value from the DXGI_COLOR_SPACE_TYPE enumeration specifying the source-decoded color space before conversion. - - - - Describes a unordered-access 1D texture resource. - Microsoft Docs: - - - - The mipmap slice index. - - - - This interface represents a graphics device for debugging. - Microsoft Docs: - - - - - Retrieves the number of past and future reference frames required for the specified deinterlace mode, filter, rate conversion, or auto processing features. - Microsoft Docs: - - - - An integer indicating which physical adapter of the device the operation applies to, in a multi-adapter operation. - - - A member of the D3D12\_VIDEO\_PROCESS\_DEINTERLACE\_FLAGS enumeration specifying the deinterlacing mode for which the required past and future reference frame counts are retrieved. - - - A bitwise OR combination of values from the D3D12\_VIDEO\_PROCESS\_FILTER\_FLAGS enumeration specifying the filters for which the required past and future reference frame counts are retrieved. - - - A bitwise OR combination of values from the D3D12\_VIDEO\_PROCESS\_FEATURE\_FLAGS enumeration specifying the features for which the required past and future reference frame counts are retrieved. - - - The input frame rate of the stream for which the required past and future reference frame counts are retrieved. - - - The output frame rate of the stream for which the required past and future reference frame counts are retrieved. - - - True if autoprocessing will be used; otherwise, false. - - - The number of past frames required to support the specified processing features. - - - The number of future frames required to support the specified processing features. - - - - Specifies the CPU-page properties for the heap. - Microsoft Docs: - - - - The CPU-page property is unknown. - - - The CPU cannot access the heap, therefore no page properties are available. - - - The CPU-page property is write-combined. - - - The CPU-page property is write-back. - - - - Not intended to be called directly.  Use the PIX event runtime to insert events into a command list. - Microsoft Docs: - Internal. - Internal. - Internal. - - - - - Specifies the motion estimation search block sizes that a video encoder can support. - Microsoft Docs: - - - - Search block size is not supported by the encoder. - - - The encoder supports a search block size of 8x8 pixels. - - - The encoder supports a search block size of 16x16 pixels. - - - - Indicates the level of support that the adapter provides for metacommands. - Microsoft Docs: - - - - The fixed GUID that identfies the metacommand to query about. - - - For single GPU operation, this is zero. If there are multiple GPU nodes, a bit is set to identify a node (the device's physical adapter). Each bit in the mask corresponds to a single node. Only 1 bit must be set. Refer to [Multi-adapter systems](/windows/win32/direct3d12/multi-engine). - - - A pointer to a buffer containing the query input data. Allocate QueryInputDataSizeInBytes bytes. - - - The size of the buffer pointed to by pQueryInputData, in bytes. - - - A pointer to a buffer containing the query output data. - - - The size of the buffer pointed to by pQueryOutputData, in bytes. - - - - Gets the minimum feature level. - Microsoft Docs: - - - - - Set a mask that controls which view instances are enabled for subsequent draws. - Microsoft Docs: - A mask that specifies which views are enabled or disabled. If bit i starting from the least-significant bit is set, view instance i is enabled. - - - - - Get the number of messages that were discarded due to the message count limit. - Microsoft Docs: - - - - - Creates an ID3D12StateObject. - Microsoft Docs: - The description of the state object to create. - The GUID of the interface to create. Use __uuidof(ID3D12StateObject). - The returned state object. - - - - - Describes 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. - - - - Describes a memory range in a 64-bit address space. - Microsoft Docs: - - - - The offset, in bytes, denoting the beginning of a memory range. - - - The offset, in bytes, denoting the end of a memory range. - End is one-past-the-end. - - - - Sets all the elements in a unordered-access view (UAV) to the specified integer values. - Microsoft Docs: - A D3D12_GPU_DESCRIPTOR_HANDLE that references an initialized descriptor for the unordered-access view (UAV) that is to be cleared. This descriptor must be in a shader-visible descriptor heap, which must be set on the command list via SetDescriptorHeaps. - A D3D12_CPU_DESCRIPTOR_HANDLE in a non-shader visible descriptor heap that references an initialized descriptor for the unordered-access view (UAV) that is to be cleared. - -> [!IMPORTANT] -> This descriptor must not be in a shader-visible descriptor heap. This is to allow drivers thath implement the clear as fixed-function hardware (rather than via a dispatch) to efficiently read from the descriptor, as shader-visible heaps may be created in WRITE_BACK memory (similar to D3D12_HEAP_TYPE_UPLOAD heap types), and CPU reads from this type of memory are prohibitively slow. - A pointer to the ID3D12Resource interface that represents the unordered-access-view (UAV) resource to clear. - A 4-component array that containing the values to fill the unordered-access-view resource with. - The number of rectangles in the array that the pRects parameter specifies. - An array of D3D12_RECT structures for the rectangles in the resource view to clear. If NULL, ClearUnorderedAccessViewUint clears the entire resource view. - - - - - Represents an axis-aligned bounding box (AABB) used as raytracing geometry. - Microsoft Docs: - - - - The minimum X coordinate of the box. - - - The minimum Y coordinate of the box. - - - The minimum Z coordinate of the box. - - - The maximum X coordinate of the box. - - - The maximum Y coordinate of the box. - - - The maximum Z coordinate of the box. - - - - Validates that the given state matches the state of the subresource, assuming the state of the given subresource is known during recording of a command list (e.g. - Microsoft Docs: - Specifies the ID3D12Resource to check. - The index of the subresource to check. This can be set to an index, or D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES. - Specifies the state to check for. This can be one or more D3D12_RESOURCE_STATES flags Or'ed together. - - - - - Contains the supported shader model. - Microsoft Docs: - - - - Specifies one member of D3D_SHADER_MODEL that indicates the maximum supported shader model. - - - - Defines constants that specify the shading rate (for variable-rate shading, or VRS) along a horizontal or vertical axis. - Microsoft Docs: - - - - Specifies a 1x shading rate for the axis. - - - Specifies a 2x shading rate for the axis. - - - Specifies a 4x shading rate for the axis. - - - - Describes a ID3D12VideoMotionEstimator. Pass this structure into ID3D12VideoDevice1::CreateVideoMotionEstimator to create an instance of ID3D12VideoMotionEstimator. - Microsoft Docs: - - - - The node mask specifying the physical adapter on which the video processor will be used. For single GPU operation, set this to zero. If there are multiple GPU nodes, set a bit to identify the node, i.e. the device's physical adapter, to which the command queue applies. Each bit in the mask corresponds to a single node. Only 1 bit may be set. - - - A value from the DXGI_FORMAT enumeration specifying the format of the input and reference frames. - - - A value from the D3D12_VIDEO_MOTION_ESTIMATOR_SEARCH_BLOCK_SIZE enumeration specifying the search block size the video motion estimator will use. - - - A value from the D3D12_VIDEO_MOTION_ESTIMATOR_VECTOR_PRECISION enumeration specifying the vector precision the video motion estimator will use. - - - A D3D12_VIDEO_SIZE_RANGE structure representing the minimum and maximum input and reference frame size, in pixels, that the motion estimator will accept. - - - - Represents a virtual adapter. This interface extends ID3D12Device2 to support the creation of special-purpose diagnostic heaps in system memory that persist even in the event of a GPU-fault or device-removed scenario. - Microsoft Docs: - - - - - Contains a method to return the deserialized D3D12_ROOT_SIGNATURE_DESC data structure, of a serialized root signature version 1.0. - Microsoft Docs: - - - - - Describes the layout of a root signature version 1.1. - Microsoft Docs: - - - - The number of slots in the root signature. This number is also the number of elements in the pParameters array. - - - An array of D3D12_ROOT_PARAMETER1 structures for the slots in the root signature. - - - Specifies the number of static samplers. - - - Pointer to one or more D3D12_STATIC_SAMPLER_DESC structures. - - - Specifies the D3D12_ROOT_SIGNATURE_FLAGS that determine the data volatility. - - - - Indicates whether a variable is of the specified type. - Microsoft Docs: - A pointer to a ID3D12ShaderReflectionType Interface. - - - - - Push a retrieval filter onto the retrieval-filter stack. - Microsoft Docs: - Pointer to a retrieval filter. - - - - - Notifies the driver that it needs to synchronize multiple accesses to resources. - Microsoft Docs: - The number of submitted barrier descriptions. - Pointer to an array of barrier descriptions. - - - - - Describes shader data. - Microsoft Docs: - - - - A pointer to a memory block that contains the shader data. - - - The size, in bytes, of the shader data that the pShaderBytecode member points to. - - - - Defines constants that specify render/compute GPU operations. - Microsoft Docs: - - - - Specifies that a DRED feature is enabled only when DRED is turned on by the system automatically (for example, when a user is reproducing a problem via FeedbackHub). - - - Specifies that a DRED feature should be force-disabled, regardless of the system state. - - - Specifies that a DRED feature should be force-enabled, regardless of the system state. - - - - Specifies the type of a state object. Use with D3D12_STATE_OBJECT_DESC. - Microsoft Docs: - - - - Collection state object. - - - Raytracing pipeline state object. - - - - Describes the supported scaling range of output sizes for a video scaler. - Microsoft Docs: - - - - A D3D12_VIDEO_SIZE_RANGE structure describing the supported output size range for the scaler. - - - A member of the D3D12_VIDEO_SCALE_SUPPORT_FLAGS enumeration specifying the supported scaling capabilities of the scaler. - - - - Encapsulates a generalized ability of the CPU and GPU to read and write to physical memory, or heaps. It contains abstractions for organizing and manipulating simple arrays of data as well as multidimensional data optimized for shader sampling. - Microsoft Docs: - - - - - Gets 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 D3D12_SHADER_INPUT_BIND_DESC. - - -
\ No newline at end of file diff --git a/src/Vortice.Win32/Graphics/Dxc.Manual.cs b/src/Vortice.Win32.Dxc/Apis.cs similarity index 100% rename from src/Vortice.Win32/Graphics/Dxc.Manual.cs rename to src/Vortice.Win32.Dxc/Apis.cs diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/Apis.Functions.cs b/src/Vortice.Win32.Dxc/Generated/Apis.Functions.cs similarity index 100% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/Apis.Functions.cs rename to src/Vortice.Win32.Dxc/Generated/Apis.Functions.cs diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/Apis.cs b/src/Vortice.Win32.Dxc/Generated/Apis.cs similarity index 100% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/Apis.cs rename to src/Vortice.Win32.Dxc/Generated/Apis.cs diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcArgPair.cs b/src/Vortice.Win32.Dxc/Generated/DxcArgPair.cs similarity index 67% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcArgPair.cs rename to src/Vortice.Win32.Dxc/Generated/DxcArgPair.cs index 5d77ce3..019cb25 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcArgPair.cs +++ b/src/Vortice.Win32.Dxc/Generated/DxcArgPair.cs @@ -9,13 +9,10 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// DxcArgPair public partial struct DxcArgPair { - /// public unsafe ushort* pName; - /// public unsafe ushort* pValue; } diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcBuffer.cs b/src/Vortice.Win32.Dxc/Generated/DxcBuffer.cs similarity index 61% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcBuffer.cs rename to src/Vortice.Win32.Dxc/Generated/DxcBuffer.cs index 35293e9..48666df 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcBuffer.cs +++ b/src/Vortice.Win32.Dxc/Generated/DxcBuffer.cs @@ -9,16 +9,12 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// DxcBuffer public partial struct DxcBuffer { - /// public unsafe void* Ptr; - /// public nuint Size; - /// public uint Encoding; } diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcCp.cs b/src/Vortice.Win32.Dxc/Generated/DxcCp.cs similarity index 64% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcCp.cs rename to src/Vortice.Win32.Dxc/Generated/DxcCp.cs index 8056f26..bbe437e 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcCp.cs +++ b/src/Vortice.Win32.Dxc/Generated/DxcCp.cs @@ -9,17 +9,13 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// DXC_CP public enum DxcCp : uint { - /// /// DXC_CP_ACP Acp = 0, - /// /// DXC_CP_UTF16 Utf16 = 1200, - /// /// DXC_CP_UTF8 Utf8 = 65001, } diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcDefine.cs b/src/Vortice.Win32.Dxc/Generated/DxcDefine.cs similarity index 68% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcDefine.cs rename to src/Vortice.Win32.Dxc/Generated/DxcDefine.cs index 2265136..10d6aa9 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcDefine.cs +++ b/src/Vortice.Win32.Dxc/Generated/DxcDefine.cs @@ -9,13 +9,10 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// DxcDefine public partial struct DxcDefine { - /// public unsafe ushort* Name; - /// public unsafe ushort* Value; } diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcHashFlags.cs b/src/Vortice.Win32.Dxc/Generated/DxcHashFlags.cs similarity index 100% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcHashFlags.cs rename to src/Vortice.Win32.Dxc/Generated/DxcHashFlags.cs diff --git a/src/Vortice.Win32.Dxc/Generated/DxcOutKind.cs b/src/Vortice.Win32.Dxc/Generated/DxcOutKind.cs new file mode 100644 index 0000000..f78a970 --- /dev/null +++ b/src/Vortice.Win32.Dxc/Generated/DxcOutKind.cs @@ -0,0 +1,37 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ + +namespace Win32.Graphics.Direct3D.Dxc; + +/// DXC_OUT_KIND +public enum DxcOutKind : int +{ + /// DXC_OUT_NONE + None = 0, + /// DXC_OUT_OBJECT + Object = 1, + /// DXC_OUT_ERRORS + Errors = 2, + /// DXC_OUT_PDB + Pdb = 3, + /// DXC_OUT_SHADER_HASH + ShaderHash = 4, + /// DXC_OUT_DISASSEMBLY + Disassembly = 5, + /// DXC_OUT_HLSL + Hlsl = 6, + /// DXC_OUT_TEXT + Text = 7, + /// DXC_OUT_REFLECTION + Reflection = 8, + /// DXC_OUT_ROOT_SIGNATURE + RootSignature = 9, + /// DXC_OUT_EXTRA_OUTPUTS + ExtraOutputs = 10, +} diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcShaderHash.cs b/src/Vortice.Win32.Dxc/Generated/DxcShaderHash.cs similarity index 67% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcShaderHash.cs rename to src/Vortice.Win32.Dxc/Generated/DxcShaderHash.cs index 2de7fee..5ff52d0 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcShaderHash.cs +++ b/src/Vortice.Win32.Dxc/Generated/DxcShaderHash.cs @@ -9,13 +9,10 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// DxcShaderHash public partial struct DxcShaderHash { - /// public DxcHashFlags Flags; - /// public unsafe fixed byte HashDigest[16]; } diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcValidatorFlags.cs b/src/Vortice.Win32.Dxc/Generated/DxcValidatorFlags.cs similarity index 100% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcValidatorFlags.cs rename to src/Vortice.Win32.Dxc/Generated/DxcValidatorFlags.cs diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcVersionInfoFlags.cs b/src/Vortice.Win32.Dxc/Generated/DxcVersionInfoFlags.cs similarity index 100% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcVersionInfoFlags.cs rename to src/Vortice.Win32.Dxc/Generated/DxcVersionInfoFlags.cs diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcAssembler.cs b/src/Vortice.Win32.Dxc/Generated/IDxcAssembler.cs similarity index 93% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcAssembler.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcAssembler.cs index dd334b1..8ae550c 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcAssembler.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcAssembler.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcAssembler [Guid("091f7a26-1c1f-4948-904b-e6e3a8a771d5")] [NativeTypeName("struct IDxcAssembler : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcAssembler : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult AssembleToContainer(IDxcBlob* pShader, IDxcOperationResult** ppResult) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlob.cs b/src/Vortice.Win32.Dxc/Generated/IDxcBlob.cs similarity index 90% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlob.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcBlob.cs index 23febef..67ff3b7 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlob.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcBlob.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcBlob [Guid("8ba5fb08-5195-40e2-ac58-0d989c3a0102")] [NativeTypeName("struct IDxcBlob : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcBlob : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public void* GetBufferPointer() @@ -82,7 +80,6 @@ public unsafe partial struct IDxcBlob : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcBlob*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public nuint GetBufferSize() diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobEncoding.cs b/src/Vortice.Win32.Dxc/Generated/IDxcBlobEncoding.cs similarity index 94% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobEncoding.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcBlobEncoding.cs index 808b306..231ed40 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobEncoding.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcBlobEncoding.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcBlobEncoding [Guid("7241d424-2646-4191-97c0-98e96e42fc68")] [NativeTypeName("struct IDxcBlobEncoding : IDxcBlob")] @@ -90,7 +89,6 @@ public unsafe partial struct IDxcBlobEncoding : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcBlobEncoding*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetEncoding(Bool32* pKnown, DxcCp* pCodePage) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobUtf16.cs b/src/Vortice.Win32.Dxc/Generated/IDxcBlobUtf16.cs similarity index 92% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobUtf16.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcBlobUtf16.cs index b77fa1c..65100d7 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobUtf16.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcBlobUtf16.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcBlobUtf16 [Guid("a3f84eab-0faa-497e-a39c-ee6ed60b2d84")] [NativeTypeName("struct IDxcBlobUtf16 : IDxcBlobEncoding")] @@ -98,7 +97,6 @@ public unsafe partial struct IDxcBlobUtf16 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcBlobUtf16*)Unsafe.AsPointer(ref this), pKnown, pCodePage); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public ushort* GetStringPointer() @@ -106,7 +104,6 @@ public unsafe partial struct IDxcBlobUtf16 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcBlobUtf16*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public nuint GetStringLength() diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobUtf8.cs b/src/Vortice.Win32.Dxc/Generated/IDxcBlobUtf8.cs similarity index 92% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobUtf8.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcBlobUtf8.cs index ef9e677..ad63264 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcBlobUtf8.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcBlobUtf8.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcBlobUtf8 [Guid("3da636c9-ba71-4024-a301-30cbf125305b")] [NativeTypeName("struct IDxcBlobUtf8 : IDxcBlobEncoding")] @@ -98,7 +97,6 @@ public unsafe partial struct IDxcBlobUtf8 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcBlobUtf8*)Unsafe.AsPointer(ref this), pKnown, pCodePage); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public sbyte* GetStringPointer() @@ -106,7 +104,6 @@ public unsafe partial struct IDxcBlobUtf8 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcBlobUtf8*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public nuint GetStringLength() diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler.cs b/src/Vortice.Win32.Dxc/Generated/IDxcCompiler.cs similarity index 91% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcCompiler.cs index 06308af..05129d7 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcCompiler.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcCompiler [Guid("8c210bf3-011f-4422-8d70-6f9acb8db617")] [NativeTypeName("struct IDxcCompiler : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcCompiler : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult Compile(IDxcBlob* pSource, ushort* pSourceName, ushort* pEntryPoint, ushort* pTargetProfile, ushort** pArguments, uint argCount, DxcDefine* pDefines, uint defineCount, IDxcIncludeHandler* pIncludeHandler, IDxcOperationResult** ppResult) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcCompiler : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcCompiler*)Unsafe.AsPointer(ref this), pSource, pSourceName, pEntryPoint, pTargetProfile, pArguments, argCount, pDefines, defineCount, pIncludeHandler, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult Preprocess(IDxcBlob* pSource, ushort* pSourceName, ushort** pArguments, uint argCount, DxcDefine* pDefines, uint defineCount, IDxcIncludeHandler* pIncludeHandler, IDxcOperationResult** ppResult) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcCompiler : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcCompiler*)Unsafe.AsPointer(ref this), pSource, pSourceName, pArguments, argCount, pDefines, defineCount, pIncludeHandler, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult Disassemble(IDxcBlob* pSource, IDxcBlobEncoding** ppDisassembly) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler2.cs b/src/Vortice.Win32.Dxc/Generated/IDxcCompiler2.cs similarity index 96% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler2.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcCompiler2.cs index 4150342..ebd0ab6 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler2.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcCompiler2.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcCompiler2 [Guid("a005a9d9-b8bb-4594-b5c9-0e633bec4d37")] [NativeTypeName("struct IDxcCompiler2 : IDxcCompiler")] @@ -98,7 +97,6 @@ public unsafe partial struct IDxcCompiler2 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcCompiler2*)Unsafe.AsPointer(ref this), pSource, ppDisassembly); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult CompileWithDebug(IDxcBlob* pSource, ushort* pSourceName, ushort* pEntryPoint, ushort* pTargetProfile, ushort** pArguments, uint argCount, DxcDefine* pDefines, uint defineCount, IDxcIncludeHandler* pIncludeHandler, IDxcOperationResult** ppResult, ushort** ppDebugBlobName, IDxcBlob** ppDebugBlob) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler3.cs b/src/Vortice.Win32.Dxc/Generated/IDxcCompiler3.cs similarity index 91% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler3.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcCompiler3.cs index 2352f79..8dcd198 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompiler3.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcCompiler3.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcCompiler3 [Guid("228b4687-5a6a-4730-900c-9702b2203f54")] [NativeTypeName("struct IDxcCompiler3 : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcCompiler3 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult Compile(DxcBuffer* pSource, ushort** pArguments, uint argCount, IDxcIncludeHandler* pIncludeHandler, Guid* riid, void** ppResult) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcCompiler3 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcCompiler3*)Unsafe.AsPointer(ref this), pSource, pArguments, argCount, pIncludeHandler, riid, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult Disassemble(DxcBuffer* pObject, Guid* riid, void** ppResult) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompilerArgs.cs b/src/Vortice.Win32.Dxc/Generated/IDxcCompilerArgs.cs similarity index 86% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompilerArgs.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcCompilerArgs.cs index b5fd088..a432df5 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcCompilerArgs.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcCompilerArgs.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcCompilerArgs [Guid("73effe2a-70dc-45f8-9690-eff64c02429d")] [NativeTypeName("struct IDxcCompilerArgs : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcCompilerArgs : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public ushort** GetArguments() @@ -82,7 +80,6 @@ public unsafe partial struct IDxcCompilerArgs : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcCompilerArgs*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public uint GetCount() @@ -90,7 +87,6 @@ public unsafe partial struct IDxcCompilerArgs : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcCompilerArgs*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult AddArguments(ushort** pArguments, uint argCount) @@ -98,7 +94,6 @@ public unsafe partial struct IDxcCompilerArgs : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcCompilerArgs*)Unsafe.AsPointer(ref this), pArguments, argCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult AddArgumentsUTF8(sbyte** pArguments, uint argCount) @@ -106,7 +101,6 @@ public unsafe partial struct IDxcCompilerArgs : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcCompilerArgs*)Unsafe.AsPointer(ref this), pArguments, argCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult AddDefines(DxcDefine* pDefines, uint defineCount) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcContainerBuilder.cs b/src/Vortice.Win32.Dxc/Generated/IDxcContainerBuilder.cs similarity index 87% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcContainerBuilder.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcContainerBuilder.cs index eb60f0f..b157bc4 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcContainerBuilder.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcContainerBuilder.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcContainerBuilder [Guid("334b1f50-2292-4b35-99a1-25588d8c17fe")] [NativeTypeName("struct IDxcContainerBuilder : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcContainerBuilder : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult Load(IDxcBlob* pDxilContainerHeader) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcContainerBuilder : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcContainerBuilder*)Unsafe.AsPointer(ref this), pDxilContainerHeader); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult AddPart(uint fourCC, IDxcBlob* pSource) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcContainerBuilder : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcContainerBuilder*)Unsafe.AsPointer(ref this), fourCC, pSource); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult RemovePart(uint fourCC) @@ -98,7 +94,6 @@ public unsafe partial struct IDxcContainerBuilder : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcContainerBuilder*)Unsafe.AsPointer(ref this), fourCC); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult SerializeContainer(IDxcOperationResult** ppResult) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcContainerReflection.cs b/src/Vortice.Win32.Dxc/Generated/IDxcContainerReflection.cs similarity index 84% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcContainerReflection.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcContainerReflection.cs index ebe9ba0..327dd2b 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcContainerReflection.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcContainerReflection.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcContainerReflection [Guid("d2c21b26-8350-4bdc-976a-331ce6f4c54c")] [NativeTypeName("struct IDxcContainerReflection : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcContainerReflection : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult Load(IDxcBlob* pContainer) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcContainerReflection : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcContainerReflection*)Unsafe.AsPointer(ref this), pContainer); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult GetPartCount(uint* pResult) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcContainerReflection : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcContainerReflection*)Unsafe.AsPointer(ref this), pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetPartKind(uint idx, uint* pResult) @@ -98,7 +94,6 @@ public unsafe partial struct IDxcContainerReflection : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcContainerReflection*)Unsafe.AsPointer(ref this), idx, pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult GetPartContent(uint idx, IDxcBlob** ppResult) @@ -106,7 +101,6 @@ public unsafe partial struct IDxcContainerReflection : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcContainerReflection*)Unsafe.AsPointer(ref this), idx, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult FindFirstPartKind(uint kind, uint* pResult) @@ -114,7 +108,6 @@ public unsafe partial struct IDxcContainerReflection : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDxcContainerReflection*)Unsafe.AsPointer(ref this), kind, pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult GetPartReflection(uint idx, Guid* iid, void** ppvObject) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcExtraOutputs.cs b/src/Vortice.Win32.Dxc/Generated/IDxcExtraOutputs.cs similarity index 91% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcExtraOutputs.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcExtraOutputs.cs index 0513c37..847f1ab 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcExtraOutputs.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcExtraOutputs.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcExtraOutputs [Guid("319b37a2-a5c2-494a-a5de-4801b2faf989")] [NativeTypeName("struct IDxcExtraOutputs : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcExtraOutputs : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public uint GetOutputCount() @@ -82,7 +80,6 @@ public unsafe partial struct IDxcExtraOutputs : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcExtraOutputs*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult GetOutput(uint uIndex, Guid* iid, void** ppvObject, IDxcBlobUtf16** ppOutputType, IDxcBlobUtf16** ppOutputName) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcIncludeHandler.cs b/src/Vortice.Win32.Dxc/Generated/IDxcIncludeHandler.cs similarity index 93% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcIncludeHandler.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcIncludeHandler.cs index 5f17d5e..b38d5c9 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcIncludeHandler.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcIncludeHandler.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcIncludeHandler [Guid("7f61fc7d-950d-467f-b3e3-3c02fb49187c")] [NativeTypeName("struct IDxcIncludeHandler : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcIncludeHandler : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult LoadSource(ushort* pFilename, IDxcBlob** ppIncludeSource) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcLibrary.cs b/src/Vortice.Win32.Dxc/Generated/IDxcLibrary.cs similarity index 83% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcLibrary.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcLibrary.cs index df36760..2c30867 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcLibrary.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcLibrary.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcLibrary [Guid("e5204dc7-d18c-4c3c-bdfb-851673980fe7")] [NativeTypeName("struct IDxcLibrary : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult SetMalloc(Com.IMalloc* pMalloc) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pMalloc); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult CreateBlobFromBlob(IDxcBlob* pBlob, uint offset, uint length, IDxcBlob** ppResult) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pBlob, offset, length, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult CreateBlobFromFile(ushort* pFileName, DxcCp* codePage, IDxcBlobEncoding** pBlobEncoding) @@ -98,7 +94,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pFileName, codePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult CreateBlobWithEncodingFromPinned(void* pText, uint size, DxcCp codePage, IDxcBlobEncoding** pBlobEncoding) @@ -106,7 +101,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pText, size, codePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult CreateBlobWithEncodingOnHeapCopy(void* pText, uint size, DxcCp codePage, IDxcBlobEncoding** pBlobEncoding) @@ -114,7 +108,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pText, size, codePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult CreateBlobWithEncodingOnMalloc(void* pText, Com.IMalloc* pIMalloc, uint size, DxcCp codePage, IDxcBlobEncoding** pBlobEncoding) @@ -122,7 +115,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pText, pIMalloc, size, codePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult CreateIncludeHandler(IDxcIncludeHandler** ppResult) @@ -130,7 +122,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IDxcLibrary*)Unsafe.AsPointer(ref this), ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult CreateStreamFromBlobReadOnly(IDxcBlob* pBlob, Com.IStream** ppStream) @@ -138,7 +129,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pBlob, ppStream); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetBlobAsUtf8(IDxcBlob* pBlob, IDxcBlobEncoding** pBlobEncoding) @@ -146,7 +136,6 @@ public unsafe partial struct IDxcLibrary : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IDxcLibrary*)Unsafe.AsPointer(ref this), pBlob, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult GetBlobAsUtf16(IDxcBlob* pBlob, IDxcBlobEncoding** pBlobEncoding) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcLinker.cs b/src/Vortice.Win32.Dxc/Generated/IDxcLinker.cs similarity index 92% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcLinker.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcLinker.cs index 70724f0..0861a6d 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcLinker.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcLinker.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcLinker [Guid("f1b5be2a-62dd-4327-a1c2-42ac1e1e78e6")] [NativeTypeName("struct IDxcLinker : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcLinker : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult RegisterLibrary(ushort* pLibName, IDxcBlob* pLib) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcLinker : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcLinker*)Unsafe.AsPointer(ref this), pLibName, pLib); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult Link(ushort* pEntryName, ushort* pTargetProfile, ushort** pLibNames, uint libCount, ushort** pArguments, uint argCount, IDxcOperationResult** ppResult) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOperationResult.cs b/src/Vortice.Win32.Dxc/Generated/IDxcOperationResult.cs similarity index 88% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOperationResult.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcOperationResult.cs index b8c3711..84b167b 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOperationResult.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcOperationResult.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcOperationResult [Guid("cedb484a-d4e9-445a-b991-ca21ca157dc2")] [NativeTypeName("struct IDxcOperationResult : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcOperationResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetStatus(HResult* pStatus) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcOperationResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcOperationResult*)Unsafe.AsPointer(ref this), pStatus); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult GetResult(IDxcBlob** ppResult) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcOperationResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcOperationResult*)Unsafe.AsPointer(ref this), ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetErrorBuffer(IDxcBlobEncoding** ppErrors) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOptimizer.cs b/src/Vortice.Win32.Dxc/Generated/IDxcOptimizer.cs similarity index 89% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOptimizer.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcOptimizer.cs index 3c77b07..0261bc1 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOptimizer.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcOptimizer.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcOptimizer [Guid("25740e2e-9cba-401b-9119-4fb42f39f270")] [NativeTypeName("struct IDxcOptimizer : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcOptimizer : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetAvailablePassCount(uint* pCount) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcOptimizer : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcOptimizer*)Unsafe.AsPointer(ref this), pCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult GetAvailablePass(uint index, IDxcOptimizerPass** ppResult) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcOptimizer : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcOptimizer*)Unsafe.AsPointer(ref this), index, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult RunOptimizer(IDxcBlob* pBlob, ushort** ppOptions, uint optionCount, IDxcBlob** pOutputModule, IDxcBlobEncoding** ppOutputText) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOptimizerPass.cs b/src/Vortice.Win32.Dxc/Generated/IDxcOptimizerPass.cs similarity index 85% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOptimizerPass.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcOptimizerPass.cs index ea9693f..285e5d3 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcOptimizerPass.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcOptimizerPass.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcOptimizerPass [Guid("ae2cd79f-cc22-453f-9b6b-b124e7a5204c")] [NativeTypeName("struct IDxcOptimizerPass : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcOptimizerPass : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetOptionName(ushort** ppResult) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcOptimizerPass : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcOptimizerPass*)Unsafe.AsPointer(ref this), ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult GetDescription(ushort** ppResult) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcOptimizerPass : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcOptimizerPass*)Unsafe.AsPointer(ref this), ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetOptionArgCount(uint* pCount) @@ -98,7 +94,6 @@ public unsafe partial struct IDxcOptimizerPass : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcOptimizerPass*)Unsafe.AsPointer(ref this), pCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult GetOptionArgName(uint argIndex, ushort** ppResult) @@ -106,7 +101,6 @@ public unsafe partial struct IDxcOptimizerPass : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcOptimizerPass*)Unsafe.AsPointer(ref this), argIndex, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetOptionArgDescription(uint argIndex, ushort** ppResult) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcPdbUtils.cs b/src/Vortice.Win32.Dxc/Generated/IDxcPdbUtils.cs similarity index 78% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcPdbUtils.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcPdbUtils.cs index d574009..a6d7dfe 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcPdbUtils.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcPdbUtils.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcPdbUtils [Guid("e6c9647e-9d6a-4c3b-b94c-524b5a6c343d")] [NativeTypeName("struct IDxcPdbUtils : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult Load(IDxcBlob* pPdbOrDxil) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pPdbOrDxil); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult GetSourceCount(uint* pCount) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetSource(uint uIndex, IDxcBlobEncoding** ppResult) @@ -98,7 +94,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), uIndex, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult GetSourceName(uint uIndex, char** pResult) @@ -106,7 +101,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), uIndex, pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetFlagCount(uint* pCount) @@ -114,7 +108,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult GetFlag(uint uIndex, char** pResult) @@ -122,7 +115,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), uIndex, pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult GetArgCount(uint* pCount) @@ -130,7 +122,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult GetArg(uint uIndex, char** pResult) @@ -138,7 +129,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), uIndex, pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetArgPairCount(uint* pCount) @@ -146,7 +136,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult GetArgPair(uint uIndex, char** pName, char** pValue) @@ -154,7 +143,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), uIndex, pName, pValue); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult GetDefineCount(uint* pCount) @@ -162,7 +150,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pCount); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult GetDefine(uint uIndex, char** pResult) @@ -170,7 +157,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), uIndex, pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult GetTargetProfile(char** pResult) @@ -178,7 +164,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult GetEntryPoint(char** pResult) @@ -186,7 +171,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult GetMainFileName(char** pResult) @@ -194,7 +178,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult GetHash(IDxcBlob** ppResult) @@ -202,7 +185,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult GetName(char** pResult) @@ -210,7 +192,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public Bool32 IsFullPDB() @@ -218,7 +199,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult GetFullPDB(IDxcBlob** ppFullPDB) @@ -226,7 +206,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), ppFullPDB); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult GetVersionInfo(IDxcVersionInfo** ppVersionInfo) @@ -234,7 +213,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), ppVersionInfo); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public HResult SetCompiler(IDxcCompiler3* pCompiler) @@ -242,7 +220,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pCompiler); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult CompileForFullPDB(IDxcResult** ppResult) @@ -250,7 +227,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public HResult OverrideArgs(DxcArgPair* pArgPairs, uint uNumArgPairs) @@ -258,7 +234,6 @@ public unsafe partial struct IDxcPdbUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((IDxcPdbUtils*)Unsafe.AsPointer(ref this), pArgPairs, uNumArgPairs); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult OverrideRootSignature(ushort* pRootSignature) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcResult.cs b/src/Vortice.Win32.Dxc/Generated/IDxcResult.cs similarity index 89% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcResult.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcResult.cs index 72e298d..40d79f9 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcResult.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcResult.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcResult [Guid("58346cda-dde7-4497-9461-6f87af5e0659")] [NativeTypeName("struct IDxcResult : IDxcOperationResult")] @@ -98,7 +97,6 @@ public unsafe partial struct IDxcResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcResult*)Unsafe.AsPointer(ref this), ppErrors); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public Bool32 HasOutput(DxcOutKind dxcOutKind) @@ -106,7 +104,6 @@ public unsafe partial struct IDxcResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcResult*)Unsafe.AsPointer(ref this), dxcOutKind); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetOutput(DxcOutKind dxcOutKind, Guid* iid, void** ppvObject, IDxcBlobUtf16** ppOutputName) @@ -114,7 +111,6 @@ public unsafe partial struct IDxcResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDxcResult*)Unsafe.AsPointer(ref this), dxcOutKind, iid, ppvObject, ppOutputName); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public uint GetNumOutputs() @@ -122,7 +118,6 @@ public unsafe partial struct IDxcResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IDxcResult*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public DxcOutKind GetOutputByIndex(uint Index) @@ -130,7 +125,6 @@ public unsafe partial struct IDxcResult : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IDxcResult*)Unsafe.AsPointer(ref this), Index); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public DxcOutKind PrimaryOutput() diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcUtils.cs b/src/Vortice.Win32.Dxc/Generated/IDxcUtils.cs similarity index 83% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcUtils.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcUtils.cs index abad2e9..ea0c932 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcUtils.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcUtils.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcUtils [Guid("4605c4cb-2019-492a-ada4-65f20bb7d67f")] [NativeTypeName("struct IDxcUtils : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult CreateBlobFromBlob(IDxcBlob* pBlob, uint offset, uint length, IDxcBlob** ppResult) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcUtils*)Unsafe.AsPointer(ref this), pBlob, offset, length, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult CreateBlobFromPinned(void* pData, uint size, DxcCp codePage, IDxcBlobEncoding** pBlobEncoding) @@ -90,7 +87,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcUtils*)Unsafe.AsPointer(ref this), pData, size, codePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult MoveToBlob(void* pData, Com.IMalloc* pIMalloc, uint size, DxcCp codePage, IDxcBlobEncoding** pBlobEncoding) @@ -98,7 +94,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDxcUtils*)Unsafe.AsPointer(ref this), pData, pIMalloc, size, codePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult CreateBlob(void* pData, uint size, DxcCp codePage, IDxcBlobEncoding** pBlobEncoding) @@ -106,7 +101,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDxcUtils*)Unsafe.AsPointer(ref this), pData, size, codePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult LoadFile(ushort* pFileName, DxcCp* pCodePage, IDxcBlobEncoding** pBlobEncoding) @@ -114,7 +108,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDxcUtils*)Unsafe.AsPointer(ref this), pFileName, pCodePage, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult CreateReadOnlyStreamFromBlob(IDxcBlob* pBlob, Com.IStream** ppStream) @@ -122,7 +115,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IDxcUtils*)Unsafe.AsPointer(ref this), pBlob, ppStream); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult CreateDefaultIncludeHandler(IDxcIncludeHandler** ppResult) @@ -130,7 +122,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IDxcUtils*)Unsafe.AsPointer(ref this), ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult GetBlobAsUtf8(IDxcBlob* pBlob, IDxcBlobUtf8** pBlobEncoding) @@ -138,7 +129,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((IDxcUtils*)Unsafe.AsPointer(ref this), pBlob, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetBlobAsUtf16(IDxcBlob* pBlob, IDxcBlobUtf16** pBlobEncoding) @@ -146,7 +136,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IDxcUtils*)Unsafe.AsPointer(ref this), pBlob, pBlobEncoding); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult GetDxilContainerPart(DxcBuffer* pShader, uint DxcPart, void** ppPartData, uint* pPartSizeInBytes) @@ -154,7 +143,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((IDxcUtils*)Unsafe.AsPointer(ref this), pShader, DxcPart, ppPartData, pPartSizeInBytes); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult CreateReflection(DxcBuffer* pData, Guid* iid, void** ppvReflection) @@ -162,7 +150,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((IDxcUtils*)Unsafe.AsPointer(ref this), pData, iid, ppvReflection); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult BuildArguments(ushort* pSourceName, ushort* pEntryPoint, ushort* pTargetProfile, ushort** pArguments, uint argCount, DxcDefine* pDefines, uint defineCount, IDxcCompilerArgs** ppArgs) @@ -170,7 +157,6 @@ public unsafe partial struct IDxcUtils : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((IDxcUtils*)Unsafe.AsPointer(ref this), pSourceName, pEntryPoint, pTargetProfile, pArguments, argCount, pDefines, defineCount, ppArgs); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult GetPDBContents(IDxcBlob* pPDBBlob, IDxcBlob** ppHash, IDxcBlob** ppContainer) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcValidator.cs b/src/Vortice.Win32.Dxc/Generated/IDxcValidator.cs similarity index 93% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcValidator.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcValidator.cs index 3b91ed4..53c45fd 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcValidator.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcValidator.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcValidator [Guid("a6e82bd2-1fd7-4826-9811-2857e797f49a")] [NativeTypeName("struct IDxcValidator : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcValidator : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult Validate(IDxcBlob* pShader, DxcValidatorFlags Flags, IDxcOperationResult** ppResult) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcValidator2.cs b/src/Vortice.Win32.Dxc/Generated/IDxcValidator2.cs similarity index 94% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcValidator2.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcValidator2.cs index b10a169..af2b19f 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcValidator2.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcValidator2.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcValidator2 [Guid("458e1fd1-b1b2-4750-a6e1-9c10f03bed92")] [NativeTypeName("struct IDxcValidator2 : IDxcValidator")] @@ -82,7 +81,6 @@ public unsafe partial struct IDxcValidator2 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcValidator2*)Unsafe.AsPointer(ref this), pShader, Flags, ppResult); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult ValidateWithDebug(IDxcBlob* pShader, DxcValidatorFlags Flags, DxcBuffer* pOptDebugBitcode, IDxcOperationResult** ppResult) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo.cs b/src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo.cs similarity index 91% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo.cs index 7c7c0f1..183b94f 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcVersionInfo [Guid("b04f5b50-2059-4f12-a8ff-a1e0cde1cc7e")] [NativeTypeName("struct IDxcVersionInfo : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcVersionInfo : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetVersion(uint* pMajor, uint* pMinor) @@ -82,7 +80,6 @@ public unsafe partial struct IDxcVersionInfo : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDxcVersionInfo*)Unsafe.AsPointer(ref this), pMajor, pMinor); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult GetFlags(DxcVersionInfoFlags* pFlags) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo2.cs b/src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo2.cs similarity index 94% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo2.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo2.cs index b8da2d4..9b1f1bf 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo2.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo2.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcVersionInfo2 [Guid("fb6904c4-42f0-4b62-9c46-983af7da7c83")] [NativeTypeName("struct IDxcVersionInfo2 : IDxcVersionInfo")] @@ -90,7 +89,6 @@ public unsafe partial struct IDxcVersionInfo2 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDxcVersionInfo2*)Unsafe.AsPointer(ref this), pFlags); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetCommitInfo(uint* pCommitCount, sbyte** pCommitHash) diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo3.cs b/src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo3.cs similarity index 92% rename from src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo3.cs rename to src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo3.cs index aac9bf6..367b90a 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/IDxcVersionInfo3.cs +++ b/src/Vortice.Win32.Dxc/Generated/IDxcVersionInfo3.cs @@ -9,7 +9,6 @@ namespace Win32.Graphics.Direct3D.Dxc; -/// /// IDxcVersionInfo3 [Guid("5e13e843-9d25-473c-9ad2-03b2d0b44b1e")] [NativeTypeName("struct IDxcVersionInfo3 : IUnknown")] @@ -74,7 +73,6 @@ public unsafe partial struct IDxcVersionInfo3 : INativeGuid return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } - /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetCustomVersionString(sbyte** pVersionString) diff --git a/src/Vortice.Win32.Dxc/Vortice.Win32.Dxc.csproj b/src/Vortice.Win32.Dxc/Vortice.Win32.Dxc.csproj new file mode 100644 index 0000000..1670469 --- /dev/null +++ b/src/Vortice.Win32.Dxc/Vortice.Win32.Dxc.csproj @@ -0,0 +1,24 @@ + + + + netstandard2.0;net6.0;net7.0 + DXC bindings. + + true + 0419;$(NoWarn) + + + + + + + + + + + + + + + + diff --git a/src/Vortice.Win32/Generated/Graphics/Direct2D/Apis.Functions.cs b/src/Vortice.Win32/Generated/Graphics/Direct2D/Apis.Functions.cs index 607ac55..0ee19be 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct2D/Apis.Functions.cs +++ b/src/Vortice.Win32/Generated/Graphics/Direct2D/Apis.Functions.cs @@ -11,42 +11,55 @@ namespace Win32.Graphics.Direct2D; public static unsafe partial class Apis { + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern HResult D2D1CreateFactory(FactoryType factoryType, Guid* riid, FactoryOptions* pFactoryOptions, void** ppIFactory); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern void D2D1MakeRotateMatrix(float angle, System.Drawing.PointF center, Matrix3x2* matrix); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern void D2D1MakeSkewMatrix(float angleX, float angleY, System.Drawing.PointF center, Matrix3x2* matrix); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern Bool32 D2D1IsMatrixInvertible(Matrix3x2* matrix); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern Bool32 D2D1InvertMatrix(Matrix3x2* matrix); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern HResult D2D1CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, CreationProperties* creationProperties, ID2D1Device** d2dDevice); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern HResult D2D1CreateDeviceContext(Graphics.Dxgi.IDXGISurface* dxgiSurface, CreationProperties* creationProperties, ID2D1DeviceContext** d2dDeviceContext); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern Color4 D2D1ConvertColorSpace(ColorSpace sourceColorSpace, ColorSpace destinationColorSpace, Color4* color); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern void D2D1SinCos(float angle, float* s, float* c); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern float D2D1Tan(float angle); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern float D2D1Vec3Length(float x, float y, float z); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern float D2D1ComputeMaximumScaleFactor(Matrix3x2* matrix); + /// [DllImport("d2d1.dll", ExactSpelling = true)] public static extern void D2D1GetGradientMeshInteriorPointsFromCoonsPatch(System.Drawing.PointF* pPoint0, System.Drawing.PointF* pPoint1, System.Drawing.PointF* pPoint2, System.Drawing.PointF* pPoint3, System.Drawing.PointF* pPoint4, System.Drawing.PointF* pPoint5, System.Drawing.PointF* pPoint6, System.Drawing.PointF* pPoint7, System.Drawing.PointF* pPoint8, System.Drawing.PointF* pPoint9, System.Drawing.PointF* pPoint10, System.Drawing.PointF* pPoint11, System.Drawing.PointF* pTensorPoint11, System.Drawing.PointF* pTensorPoint12, System.Drawing.PointF* pTensorPoint21, System.Drawing.PointF* pTensorPoint22); } diff --git a/src/Vortice.Win32/Generated/Graphics/Direct2D/ID2D1GeometrySink.cs b/src/Vortice.Win32/Generated/Graphics/Direct2D/ID2D1GeometrySink.cs index bec2c0c..219ddf5 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct2D/ID2D1GeometrySink.cs +++ b/src/Vortice.Win32/Generated/Graphics/Direct2D/ID2D1GeometrySink.cs @@ -48,7 +48,7 @@ public unsafe partial struct ID2D1GeometrySink : INativeGuid public void** lpVtbl; - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public void SetFillMode(Common.FillMode fillMode) @@ -56,7 +56,7 @@ public unsafe partial struct ID2D1GeometrySink : INativeGuid ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), fillMode); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] public void SetSegmentFlags(Common.PathSegment vertexFlags) @@ -64,7 +64,7 @@ public unsafe partial struct ID2D1GeometrySink : INativeGuid ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), vertexFlags); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] public void BeginFigure(System.Drawing.PointF startPoint, Common.FigureBegin figureBegin) @@ -72,7 +72,7 @@ public unsafe partial struct ID2D1GeometrySink : INativeGuid ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), startPoint, figureBegin); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public void AddLines(System.Drawing.PointF* points, uint pointsCount) @@ -80,7 +80,7 @@ public unsafe partial struct ID2D1GeometrySink : INativeGuid ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), points, pointsCount); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public void AddBeziers(Common.BezierSegment* beziers, uint beziersCount) @@ -88,7 +88,7 @@ public unsafe partial struct ID2D1GeometrySink : INativeGuid ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), beziers, beziersCount); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public void EndFigure(Common.FigureEnd figureEnd) @@ -96,7 +96,7 @@ public unsafe partial struct ID2D1GeometrySink : INativeGuid ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), figureEnd); } - /// + /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult Close() diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcOutKind.cs b/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcOutKind.cs deleted file mode 100644 index fd7e7b3..0000000 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Dxc/DxcOutKind.cs +++ /dev/null @@ -1,49 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ - -namespace Win32.Graphics.Direct3D.Dxc; - -/// -/// DXC_OUT_KIND -public enum DxcOutKind : int -{ - /// - /// DXC_OUT_NONE - None = 0, - /// - /// DXC_OUT_OBJECT - Object = 1, - /// - /// DXC_OUT_ERRORS - Errors = 2, - /// - /// DXC_OUT_PDB - Pdb = 3, - /// - /// DXC_OUT_SHADER_HASH - ShaderHash = 4, - /// - /// DXC_OUT_DISASSEMBLY - Disassembly = 5, - /// - /// DXC_OUT_HLSL - Hlsl = 6, - /// - /// DXC_OUT_TEXT - Text = 7, - /// - /// DXC_OUT_REFLECTION - Reflection = 8, - /// - /// DXC_OUT_ROOT_SIGNATURE - RootSignature = 9, - /// - /// DXC_OUT_EXTRA_OUTPUTS - ExtraOutputs = 10, -} diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D.Fxc/Apis.Functions.cs b/src/Vortice.Win32/Generated/Graphics/Direct3D.Fxc/Apis.Functions.cs index 6707655..73effe7 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D.Fxc/Apis.Functions.cs +++ b/src/Vortice.Win32/Generated/Graphics/Direct3D.Fxc/Apis.Functions.cs @@ -11,66 +11,87 @@ namespace Win32.Graphics.Direct3D.Fxc; public static unsafe partial class Apis { + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DReadFileToBlob(ushort* pFileName, Graphics.Direct3D.ID3DBlob** ppContents); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DWriteBlobToFile(Graphics.Direct3D.ID3DBlob* pBlob, ushort* pFileName, Bool32 bOverwrite); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DCompile(void* pSrcData, nuint SrcDataSize, sbyte* pSourceName, Graphics.Direct3D.ShaderMacro* pDefines, Graphics.Direct3D.ID3DInclude* pInclude, sbyte* pEntrypoint, sbyte* pTarget, CompileFlags Flags1, uint Flags2, Graphics.Direct3D.ID3DBlob** ppCode, Graphics.Direct3D.ID3DBlob** ppErrorMsgs); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DCompile2(void* pSrcData, nuint SrcDataSize, sbyte* pSourceName, Graphics.Direct3D.ShaderMacro* pDefines, Graphics.Direct3D.ID3DInclude* pInclude, sbyte* pEntrypoint, sbyte* pTarget, CompileFlags Flags1, uint Flags2, uint SecondaryDataFlags, void* pSecondaryData, nuint SecondaryDataSize, Graphics.Direct3D.ID3DBlob** ppCode, Graphics.Direct3D.ID3DBlob** ppErrorMsgs); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DCompileFromFile(ushort* pFileName, Graphics.Direct3D.ShaderMacro* pDefines, Graphics.Direct3D.ID3DInclude* pInclude, sbyte* pEntrypoint, sbyte* pTarget, CompileFlags Flags1, uint Flags2, Graphics.Direct3D.ID3DBlob** ppCode, Graphics.Direct3D.ID3DBlob** ppErrorMsgs); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DPreprocess(void* pSrcData, nuint SrcDataSize, sbyte* pSourceName, Graphics.Direct3D.ShaderMacro* pDefines, Graphics.Direct3D.ID3DInclude* pInclude, Graphics.Direct3D.ID3DBlob** ppCodeText, Graphics.Direct3D.ID3DBlob** ppErrorMsgs); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DGetDebugInfo(void* pSrcData, nuint SrcDataSize, Graphics.Direct3D.ID3DBlob** ppDebugInfo); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DReflect(void* pSrcData, nuint SrcDataSize, Guid* pInterface, void** ppReflector); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DReflectLibrary(void* pSrcData, nuint SrcDataSize, Guid* riid, void** ppReflector); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DDisassemble(void* pSrcData, nuint SrcDataSize, DisasmFlags Flags, sbyte* szComments, Graphics.Direct3D.ID3DBlob** ppDisassembly); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DDisassembleRegion(void* pSrcData, nuint SrcDataSize, uint Flags, sbyte* szComments, nuint StartByteOffset, nuint NumInsts, nuint* pFinishByteOffset, Graphics.Direct3D.ID3DBlob** ppDisassembly); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DGetTraceInstructionOffsets(void* pSrcData, nuint SrcDataSize, uint Flags, nuint StartInstIndex, nuint NumInsts, nuint* pOffsets, nuint* pTotalInsts); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DGetInputSignatureBlob(void* pSrcData, nuint SrcDataSize, Graphics.Direct3D.ID3DBlob** ppSignatureBlob); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DGetOutputSignatureBlob(void* pSrcData, nuint SrcDataSize, Graphics.Direct3D.ID3DBlob** ppSignatureBlob); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DGetInputAndOutputSignatureBlob(void* pSrcData, nuint SrcDataSize, Graphics.Direct3D.ID3DBlob** ppSignatureBlob); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DStripShader(void* pShaderBytecode, nuint BytecodeLength, uint uStripFlags, Graphics.Direct3D.ID3DBlob** ppStrippedBlob); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DGetBlobPart(void* pSrcData, nuint SrcDataSize, BlobPart Part, uint Flags, Graphics.Direct3D.ID3DBlob** ppPart); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DSetBlobPart(void* pSrcData, nuint SrcDataSize, BlobPart Part, uint Flags, void* pPart, nuint PartSize, Graphics.Direct3D.ID3DBlob** ppNewShader); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DCreateBlob(nuint Size, Graphics.Direct3D.ID3DBlob** ppBlob); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DCompressShaders(uint uNumShaders, ShaderData* pShaderData, CompressShaderFlags uFlags, Graphics.Direct3D.ID3DBlob** ppCompressedData); + /// [DllImport("D3DCOMPILER_47.dll", ExactSpelling = true)] public static extern HResult D3DDecompressShaders(void* pSrcData, nuint SrcDataSize, uint uNumShaders, uint uStartIndex, uint* pIndices, uint uFlags, Graphics.Direct3D.ID3DBlob** ppShaders, uint* pTotalShaders); } diff --git a/src/Vortice.Win32/Generated/Graphics/DirectWrite/Apis.Functions.cs b/src/Vortice.Win32/Generated/Graphics/DirectWrite/Apis.Functions.cs index 4f77761..54c4a93 100644 --- a/src/Vortice.Win32/Generated/Graphics/DirectWrite/Apis.Functions.cs +++ b/src/Vortice.Win32/Generated/Graphics/DirectWrite/Apis.Functions.cs @@ -11,6 +11,7 @@ namespace Win32.Graphics.DirectWrite; public static unsafe partial class Apis { + /// [DllImport("DWrite.dll", ExactSpelling = true)] public static extern HResult DWriteCreateFactory(FactoryType factoryType, Guid* iid, IUnknown** factory); } diff --git a/src/Vortice.Win32/Generated/Graphics/Dxgi/Apis.Functions.cs b/src/Vortice.Win32/Generated/Graphics/Dxgi/Apis.Functions.cs index c22c763..403b313 100644 --- a/src/Vortice.Win32/Generated/Graphics/Dxgi/Apis.Functions.cs +++ b/src/Vortice.Win32/Generated/Graphics/Dxgi/Apis.Functions.cs @@ -11,18 +11,23 @@ namespace Win32.Graphics.Dxgi; public static unsafe partial class Apis { + /// [DllImport("dxgi.dll", ExactSpelling = true)] public static extern HResult CreateDXGIFactory(Guid* riid, void** ppFactory); + /// [DllImport("dxgi.dll", ExactSpelling = true)] public static extern HResult CreateDXGIFactory1(Guid* riid, void** ppFactory); + /// [DllImport("dxgi.dll", ExactSpelling = true)] public static extern HResult CreateDXGIFactory2(uint Flags, Guid* riid, void** ppFactory); + /// [DllImport("dxgi.dll", ExactSpelling = true)] public static extern HResult DXGIGetDebugInterface1(uint Flags, Guid* riid, void** pDebug); + /// [DllImport("dxgi.dll", ExactSpelling = true)] public static extern HResult DXGIDeclareAdapterRemovalSupport(); } diff --git a/src/Vortice.Win32/Generated/Graphics/Imaging/Apis.Functions.cs b/src/Vortice.Win32/Generated/Graphics/Imaging/Apis.Functions.cs index 291d4fc..718948f 100644 --- a/src/Vortice.Win32/Generated/Graphics/Imaging/Apis.Functions.cs +++ b/src/Vortice.Win32/Generated/Graphics/Imaging/Apis.Functions.cs @@ -11,30 +11,39 @@ namespace Win32.Graphics.Imaging; public static unsafe partial class Apis { + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICConvertBitmapSource(Guid* dstFormat, IWICBitmapSource* pISrc, IWICBitmapSource** ppIDst); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICCreateBitmapFromSection(uint width, uint height, Guid* pixelFormat, Handle hSection, uint stride, uint offset, IWICBitmap** ppIBitmap); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICCreateBitmapFromSectionEx(uint width, uint height, Guid* pixelFormat, Handle hSection, uint stride, uint offset, WICSectionAccessLevel desiredAccessLevel, IWICBitmap** ppIBitmap); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICMapGuidToShortName(Guid* guid, uint cchName, ushort* wzName, uint* pcchActual); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICMapShortNameToGuid(ushort* wzName, Guid* pguid); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICMapSchemaToName(Guid* guidMetadataFormat, ushort* pwzSchema, uint cchName, ushort* wzName, uint* pcchActual); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICMatchMetadataContent(Guid* guidContainerFormat, Guid* pguidVendor, Com.IStream* pIStream, Guid* pguidMetadataFormat); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICSerializeMetadataContent(Guid* guidContainerFormat, IWICMetadataWriter* pIWriter, uint dwPersistOptions, Com.IStream* pIStream); + /// [DllImport("WindowsCodecs.dll", ExactSpelling = true)] public static extern HResult WICGetMetadataContentSize(Guid* guidContainerFormat, IWICMetadataWriter* pIWriter, ULargeInteger* pcbSize); } diff --git a/src/Vortice.Win32/Vortice.Win32.csproj b/src/Vortice.Win32/Vortice.Win32.csproj index 751fe58..35de665 100644 --- a/src/Vortice.Win32/Vortice.Win32.csproj +++ b/src/Vortice.Win32/Vortice.Win32.csproj @@ -42,6 +42,10 @@ <_Parameter1>Vortice.Win32.Direct3D11on12 + + + <_Parameter1>Vortice.Win32.Dxc + diff --git a/src/samples/01-ClearScreen/01-ClearScreen.csproj b/src/samples/01-ClearScreen/01-ClearScreen.csproj index 6521b19..4b995d9 100644 --- a/src/samples/01-ClearScreen/01-ClearScreen.csproj +++ b/src/samples/01-ClearScreen/01-ClearScreen.csproj @@ -9,6 +9,7 @@ +